错误java.lang.ClassNotFoundException:org.springframework.orm.jpa.EntityManagerFactoryUtils仅当查询未执行时';我找不到任何结果
我会先发布我的代码错误java.lang.ClassNotFoundException:org.springframework.orm.jpa.EntityManagerFactoryUtils仅当查询未执行时';我找不到任何结果,java,spring,hibernate,jpa,Java,Spring,Hibernate,Jpa,我会先发布我的代码 public boolean checkIfExists(String name, String surname) { Object m = null; entityManager.getTransaction().begin(); Query q = entityManager.createNamedQuery(Person.findByNameSurname) .setParameter("
public boolean checkIfExists(String name, String surname) {
Object m = null;
entityManager.getTransaction().begin();
Query q = entityManager.createNamedQuery(Person.findByNameSurname)
.setParameter("i", name).setParameter("n", surname);
try {
m = q.getSingleResult();
} catch (Exception sqle) {
System.out.println("SQL exception: " + sqle.getMessage());
}
entityManager.getTransaction().commit();
if (m != null)
return true;
return false;
}
查询:
@NamedQuery(name=Person.findByNameSurname, query="SELECT p FROM Person p WHERE p.name like :i AND p.surname like :n"),
如果数据库中确实存在有姓名和姓氏的人,则此代码工作正常
如果我键入数据库中不存在的名称或姓氏,则会出现以下异常:
线程“main”java.lang.NoClassDefFoundError中出现异常:
org/springframework/orm/jpa/EntityManagerFactoryUtils位于
org.springframework.orm.jpa.aspectj.jpaexceptiontranslatorspect.ajc$后加$org\u springframework\u orm\u jpa\u aspectj\u jpaexceptiontranslatorspect$1$18a1ac9(jpaexceptiontranslatorspect.aj:33)
在
checkIfExists(PersonJpaDao.java:27)
在pl.program.Start.test(Start.java:121)中
pl.program.Main.Main(Main.java:11)由以下原因引起:
java.lang.ClassNotFoundException:
org.springframework.orm.jpa.EntityManagerFactoryUtils位于
java.net.URLClassLoader$1.run(URLClassLoader.java:366)位于
java.net.URLClassLoader$1.run(URLClassLoader.java:355)在
java.security.AccessController.doPrivileged(本机方法)位于
java.net.URLClassLoader.findClass(URLClassLoader.java:354)位于
loadClass(ClassLoader.java:424)位于
sun.misc.Launcher$AppClassLoader.loadClass(Launcher.java:308)位于
loadClass(ClassLoader.java:357)。。。4更多
例如,如果我在数据库里有一个叫杰克,姓布莱克的人,我就打电话给他
checkIfExists("Jack", "Black")
一切都好。但如果我把它改成
checkIfExists("Jack1", "Black")
我得到上面提到的例外情况
当数据库中不存在记录并且我想使用getSingleResult()
时,类似的问题也会发生在其他方法上
我尝试了getResultList()
,它返回空列表
你知道这里会有什么问题吗?如果你使用的是maven,那么你肯定缺少以下依赖性(当然是相应的版本):
org.springframework
春季甲虫
3.2.4.1发布
或
如果不使用maven,请显式提供此jar文件(同样是各自的版本):
spring-orm-3.2.4.RELEASE.jar
您是在使用maven还是ant构建项目?您似乎在路径中缺少相应的jar文件。
<dependency>
<groupId>org.springframework</groupId>
<artifactId>spring-orm</artifactId>
<version>3.2.4.RELEASE</version>
</dependency>