ray*_*man 23 java jboss ejb jpa
我正在执行以下行:
String queString = "some query string"
Query q1 = em.createNativeQuery(queString, T03CallsLog.class);
T03CallsLog newCall;
newCall = (T03CallsLog) q1.getSingleResult(); //this line cause the exception after the first time
Run Code Online (Sandbox Code Playgroud)
奇怪的情况.如果我只用一个实例执行它就可以正常工作,但是如果我与多个实例(mdb)并行执行它,那么第一个实例执行没有任何异常,其余的都得到这个错误:
10:04:50,750 ERROR [log] ECMSDispatcherMdb.onMessage, error: No entity found for query
Run Code Online (Sandbox Code Playgroud)
什么可能导致它?以及它是如何在第一次工作,但对于所有其他实例它不是吗?
谢谢,
射线.
And*_*s_D 53
错误消息通常告诉您,查询未返回任何结果.所以getSingleResult()失败了.
如果您期望空查询结果,请考虑使用getResultList()并测试isEmpty()结果:
T03CallsLog newCall = null;
List results = q1.getResultList();
if (!results.isEmpty())
newCall = (T03CallsLog) results.get(0);
else
// is it a problem? -> log.
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
69341 次 |
| 最近记录: |