У меня проблема с 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 в запрос, который не удался и вернул в одну и ту же базу данных только один результат.