Критерии гибернации API равно методу - PullRequest
0 голосов
/ 22 февраля 2012

Я использовал обратный инжиниринг hibernate для генерации своей модели и классы Dao. Я использую API критериев гибернации для получения значений из базы данных

    criteria.add(Restrictions.eq(
            "propert1.propert2.StateId", 1));

Я получаю следующее исключение

javax.faces.el.EvaluationException: org.hibernate.QueryException: не удалось разрешить свойство: Propert1.propert2.StateId of: com.packagename.

Получил ли какой-либо орган подсказку, почему это происходит (критерии создания имеюткласс, у которого есть свойство1, а класс свойства1 имеет свойство2)

Ответы [ 2 ]

1 голос
/ 23 февраля 2012

Определение псевдонимов должно сделать это

criteria.createAlias("propert1","pr1")
    .createAlias("pr1.propert2","pr2")
    .add(Restrictions.eq("pr2.StateId", 1));
0 голосов
/ 24 февраля 2012

Это сработало для меня

Criteria criteria = session
            .createCriteria(MyClass.class);
criteria = criteria.createCriteria("propert1").createCriteria("propert2").add(Restrictions.eq("stateId", 1));
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...