NonUniqueResult, но на самом деле одна строка - PullRequest
0 голосов
/ 01 октября 2018

У меня проблема с uniqueResult().

У меня есть этот код

SQLQuery query = entityManager.unwrap(Session.class).createSQLQuery(strQuery.toString());

Entity result = (Entity ) query.setResultTransformer(Transformers.aliasToBean(Entity .class)).uniqueResult();

Извините за небольшую информацию, но это код, который я не могу показать по соображениям политики.

Я выполнил запрос, который завершается с ошибкой из журнала с правильным параметром и возвращает только один результат.

Таким образом, вопрос будет:

Как query.uniqueResult() выбрасывает этоисключение, но тот же запрос в той же базе данных, выполненный вручную, возвращает одну строку?

Это выбор

Спасибо

Davide

ОБНОВЛЕНИЕ

2018-10-01 14:34:00,386 INFO  [it.**] (default task-18) method=**, params= [1324680], time=31ms
2018-10-01 14:34:00,386 INFO  [it.**] (default task-18) method=** START
2018-10-01 14:34:00,411 INFO  [stdout] (default task-18) Hibernate:  SELECT .... WHERE table.field = ?                                                                                                                                       

2018-10-01 14:34:00,436 ERROR [org.jboss.as.ejb3.invocation] (default task-18) WFLYEJB0034: EJB Invocation failed on component ** for method public it.** it.**.processData(it.**): javax.ejb.EJBException: org.hibernate.NonUniqueResultException: query did not return a unique result: 2
    at ****
    ...
    ...
    ...
Caused by: org.hibernate.NonUniqueResultException: query did not return a unique result: 2

Я скрыл некоторые имена, но вот запрос, который не удался.Я передал параметр 1324680 в запрос, который не удался и вернул в одну и ту же базу данных только один результат.

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