以前,使用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 名称。