Hibernate应用SQL查询返回实体类型

Hibernate使用SQL查询返回实体类型

以前,使用SQL查询,结果放在 RS 结果集中,还要去转换影射到Java类中。Hibernate中,可以自动帮我们注入到Hibernate 甚至是 非 Hibernate 类型当中。

 

String sql = "select * from T_TMP_PUBLIC_POLICY TP";
SQLQuery sqluery = session.createSQLQuery(sql).addEntity(TPublicPolicyTemporary.class);
			
List tmpList = sqluery.list();

 

注册到非 Hibernate pojo 中:

sess.createSQLQuery("SELECT NAME, BIRTHDATE FROM CATS")
        .setResultTransformer(Transformers.aliasToBean(CatDTO.class))

 

返回多个实体

sess.createSQLQuery("SELECT {cat.*}, {mother.*}  FROM CATS c, CATS m WHERE c.MOTHER_ID = c.ID")
 .addEntity("cat", Cat.class)
 .addEntity("mother", Cat.class)

{cat.*},   的cat   就是 addEntity(“ 里面的 cat 名称。