当前位置: 首页 > 面试题库 >

找不到查询异常的实体

梁丘权
2023-03-14
问题内容

我正在执行以下几行:

  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

奇怪的情况。如果我仅使用一个实例执行它,则效果很好,但是如果我与多个实例并行执行(一个mdb的实例),则第一个实例将被执行而没有任何异常,其余所有实例都会收到此错误:

10:04:50,750 ERROR [log] ECMSDispatcherMdb.onMessage, error: No entity found for query

知道会导致什么吗?以及它是如何第一次工作的,但是对于所有其他实例却没有?

谢谢,

射线。


问题答案:

该错误消息通常告诉您查询没有返回结果。如此getSingleResult()失败。

如果期望空查询结果,请考虑使用getResultList()并测试isEmpty()结果:

T03CallsLog newCall = null;
List results = q1.getResultList();
if (!results.isEmpty())
   newCall = (T03CallsLog) results.get(0);
else
   // is it a problem? -> log.


 类似资料:
  • 我的项目设置是Spring MVC,Hibernate 3.2.x,在 MySQL 数据库上 收到以下错误: org.hibernate.QueryParameterException:无法找到命名参数电子邮件 方法#1: 方法#2: 错误: java.lang.IllegalArgumentException:参数email不作为命名参数存在于[fromcom.cmgr.beans.UserAc

  • 问题内容: 在发布此问题之前,我已经看过了,但是找不到所需的内容。 我知道,对于我编写的查询,可能仅存在一行或根本不存在。因此,没有理由让我使用。 这是我的代码: 问题是,如果没有行,它将引发异常,否则,它将运行正常。我知道问题所在,但我也在寻找最佳解决方案。 我想要的是,如果数据库中没有行,我想获取一个空对象(而不是获取异常),因此我将插入一个新数据,如果不为空,我只想更新它。 有一种处理方法,

  • 请找到我使用过的代码。以下HQL查询失败,说明: 找不到命名参数 [模板 Id] 但是模板 Id 存在于我的模型类中。 请帮助解决问题或可能导致此类错误的原因: 模型文件 请帮助解决我的问题

  • 问题内容: 我正在尝试从Hibernate和Maven开始项目。 我有这样的例外: 这是我的项目结构的屏幕截图(hibernate.cfg.xml在src /中):http : //imageshack.us/photo/my- images/692/screenshotxba.jpg/ CrudsOps.java pom.xml 该异常的根源可能是什么? 问题答案: 正如@JBNizet所说,您

  • 问题内容: 我从这篇博客文章中获得了帮助: 但是我发现com.mysql.jdbc.driver类未找到异常。那篇博客文章的不同之处在于,在我的案例中,他们尝试连接到mysql而不是MS SQL。到目前为止,这是我的代码:package com.example.dbtry; 请告诉我我在做什么错。我还在清单中添加了对Internet的许可。 问题答案: 从以下位置下载jar:http://www.

  • 我对Java和Netbeans平台编程非常熟悉,我在10个Netbeans API(文件系统)的示例中遇到了这个非常奇怪的问题。我使用的是Ubuntu 14.10,Java JDK 8,Netbeans 8.0.1 我想在点击菜单元素后在swing消息框中显示一些数据。导入很好,dep库很好,所有编译都很好。但当我点击我的超级菜单项时,我有例外: 我试图导入所有javax.spring.*包,但它