我对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传递给失败的查询,并在同一数据库上仅返回一个结果。