日期:2014-05-19  浏览次数:20579 次

hibernate Transformers的问题
我有个User 实体类 里面很多栏位 、 通过hibernate注解生成的表、

  而我每次查询的时候会查询全部的栏位、

  所以我建立了一个UserDTO 里面就三个栏位 id 帐号 密码

   



  在DAO查询的时候使用了 Transformers

Java code
Query query = session.createQuery("select id ,account ,password from User").setResultTransformer(Transformers.aliasToBean(UserDTO.class));



  结果就出来异常
org.hibernate.PropertyNotFoundException: Could not find setter for 0 on class cn.local.projects.domain.UserDTO

  
  照官方例子弄的、
http://swik.net/Hibernate/Hibernate+GroupBlog/Hibernate+3.2:+Transformers+for+HQL+and+SQL/cmxs


  网上总结的这个异常说是mapping.xml配置有问题。可我没用到hibernate写xml方式

  用spring集成hibernateTemplate。

  请教解决办法。
 

------解决方案--------------------
首先请到数据库查询工具中检查下“select id ,account ,password from User”这条sql是否执行的通,其次检查下User类里的字段注解,最好调试下看看报错的具体语句。