Передать переменную в критерии гибернации - PullRequest
0 голосов
/ 26 августа 2011

Criteria crt = hibernateSession.createCriteria(Post.class); crt.add(Restrictions.eq("LogId", new Integer(1234)));

Приведенный выше запрос не имеет никаких проблем при выполнении.Но если изменить «new Integer (1234)» на переменную, как показано ниже, запрос возвращает ошибку java.lang.NullPointerException.

int test = 1234;
Criteria crt = hibernateSession.createCriteria(Post.class); crt.add(Restrictions.eq("LogId", test));

Кто-нибудь знает, что здесь не так?

1 Ответ

0 голосов
/ 26 августа 2011

Наиболее вероятное объяснение состоит в том, что вы используете среду исполнения Java 1.4 (или более раннюю), которая не autobox примитивов.

Restrictions.eq () принимает Object - его второй аргумент, и int будет автоматически помещен после Java 1.4 в Integer объект.

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