NonUniqueResult但实际上是一行

时间:2018-10-01 13:48:25

标签: sql hibernate

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

0 个答案:

没有答案