您的位置:首页 > 数据库

Hibernate使用sql语句查询,返回实体类型的方法及注意事项

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

Java代码

String sql = "select * from users";

SQLQuery sqluery = session.createSQLQuery(sql).addEntity(Users.class);

List<Users> list = new ArrayList<Users>();

list = sqluery.list();

System.out.println(list.get(0).getUsername());

注意:如果想要访问list中的值,必须在声明List时,加入实体对象,即List<Users>,如果没有<Users>,编译器就无法将POJO中数据按实体类封装,也就无法通过lsit直接访问数据了

注册到非 Hibernate pojo 中:

Java代码

sess.createSQLQuery("SELECT NAME, BIRTHDATE FROM CATS")

.setResultTransformer(Transformers.aliasToBean(CatDTO.class))

返回多个实体

Java代码

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

.addEntity("cat", Cat.class)

.addEntity("mother", Mother.class)

{cat.*}, 的cat 就是 addEntity(“ 里面的 cat 名称。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: 
相关文章推荐