Hibernate中addEntity与Transformers.aliasToBean的区别

来源:互联网 发布:上瘾网络剧猛其其花絮 编辑:程序博客网 时间:2024/05/25 21:36
addEntity只适用于存在Person实体的,如果hibernate中没有进行Person映射就不可行,如系统中只存在一个JavaBean,可通过下面方法:

  Java代码  

[html] view plain copy
  1. List list = getSession().createSQLQuery("select id \"id\",name \"name\",phone \"phone\" from person")   
  2.    .addScalar("id",Hibernate.Long).addScalar("name").addScalar("phone",Hibernate.Long)   
  3.    .setResultTransformer(Transformers.aliasToBean(Person.class)));  

  那么Hibernate就会自动将查出来的三列内容组装到VO对象中去,只是代码量有点大,而且名称都需要重新定义为小写的(需set方法属性一致),在Oracle中查出来的列都默认为大写的(不知道其它数据库怎么样);

    其中addScalar方法就是将实体和结果对应的,

原创粉丝点击