休眠抛出异常虽然查询从数据库控制台工作

问题描述:

我执行相当复杂的是这样的:休眠抛出异常虽然查询从数据库控制台工作

session.createSQLQuery("query").setResultTransformer(Transformers.aliasToBean(CheckIn.class)); 

我用几个AS:在(前选择列从我的表as COLUMNNAME)我查询和休眠总是会抛出此异常:

Exception in thread "main" org.hibernate.PropertyNotFoundException: Could not find setter for inputrecords on class com.letmedical.store.CheckIn 
    at org.hibernate.property.ChainedPropertyAccessor.getSetter(ChainedPropertyAccessor.java:44) 
    at org.hibernate.transform.AliasToBeanResultTransformer.transformTuple(AliasToBeanResultTransformer.java:57) 
    at org.hibernate.hql.HolderInstantiator.instantiate(HolderInstantiator.java:69) 
    at org.hibernate.loader.custom.CustomLoader.getResultList(CustomLoader.java:330) 
    at org.hibernate.loader.Loader.listIgnoreQueryCache(Loader.java:2104) 
    at org.hibernate.loader.Loader.list(Loader.java:2099) 
    at org.hibernate.loader.custom.CustomLoader.list(CustomLoader.java:289) 
    at org.hibernate.impl.SessionImpl.listCustomQuery(SessionImpl.java:1695) 
    at org.hibernate.impl.AbstractSessionImpl.list(AbstractSessionImpl.java:142) 
    at org.hibernate.impl.SQLQueryImpl.list(SQLQueryImpl.java:152) 
    at com.letmedical.store.Test.main(Test.java:37) 

但是每个类字段都有setter。我该怎么办?谷歌并没有多大帮助,因为这不是严格的休眠错误。

更新:

我试图遍历低谷结果列表:

List<CheckIn> list = query.list(); 


for (CheckIn object : list) { 
       System.out.println(object.getAppTime()); 
      } 

我得到这个错误:

Exception in thread "main" java.lang.ClassCastException: [Ljava.lang.Object; cannot be cast to com.letmedical.store.CheckIn 
    at com.letmedical.store.Test.main(Test.java:41) 

但我的对象的所有属性是这个对象内部,但我可以不会将它投射到我的对象CheckIn中。任何人有这个问题?

更新II:

这里的getter/setter:

private Integer inputRecords; 

public Integer getInputRecords() { 
    return inputRecords; 
} 
public void setInputRecords(Integer inputRecords) { 
    this.inputRecords= inputRecords; 
} 

我的Hibernate映射:

<property name="inputRecords" type="java.lang.Integer"> 
      <column name="inputRecords" not-null="false" /> 
     </property> 

表列被命名为inputrecords

有没有一种方法?

+0

请张贴的CheckIn类......至少制定者/吸气。我怀疑你没有java-bean风格的setter/getters。或者启用字段级访问,所以hibernate甚至不会使用setter/getter。 – hvgotcodes 2011-05-15 21:14:02

从您的堆栈跟踪中,您有一个字段'inputrecords'。这应该是

inputRecords 

和setter方法应该是

public void setInputRecords(...){ 
... 
} 
+0

我更新了我的问题,对于未经训练的人来说,一切似乎都很好。 – 2011-05-15 21:27:21