Hibernate выдает исключение, хотя запрос работает из консоли БД - PullRequest
0 голосов
/ 16 мая 2011

Я выполняю довольно сложный, как это:

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

Я использую пару AS (например: выберите столбец as columnName из моей таблицы) в моем запросе, и hibernate всегда выдает это исключение:

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)

Но для каждого поля класса существуют сеттеры. Что я делаю? Google не сильно помогает, так как это не совсем ошибка гибернации.

Обновление:

Я попытался перебрать список результатов:

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:

Вот геттер / сеттер:

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

есть ли способ обхода?

1 Ответ

1 голос
/ 16 мая 2011

от вашей трассировки стека, у вас есть поле 'inputrecords'.Это должно быть

inputRecords

, а установщик должен быть

public void setInputRecords(...){
...
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...