Hibernate之通过sql语句查询

1. 关键方法:

SQLQuery createSQLQuery(String queryString)

为给定的queryString创建一个SQLQuery(用于操作和执行的查询实例)实例;

2. 用法:

(1)SQLQuery.addEntity(Class entityType) :生成一个实体不用指定别名,一般用于受hibernate托管的实体;

Query query = this.getSession().createSQLQuery(sqlString).addEntity(User.class).list();

(2)SQLQuery.setResultTransformer(ResultTransformer transformer):生成一个实体需要指定别名,一般用于不受hibernate托管的实体;

Query query = this.getSession().createSQLQuery(sqlString).setResultTransformer(Transformers.aliasToBean(UserPO.class));

3. 注意:

SQLQuery.addScalar(String columnAlias,Type type):addScalar用来声明查询的列的属性,用不用看需要
session.createSQLQuery(sql).addScalar("id",IntegerType.INSTANCE).addScalar("name", StringType.INSTANCE).setResultTransformer(Transformers.aliasToBean(UserPO.class)).list();

 

 

你可能感兴趣的:(Hibernate之通过sql语句查询)