`
macrabbit
  • 浏览: 231914 次
  • 性别: Icon_minigender_1
  • 来自: 成都
社区版块
存档分类
最新评论

JPA+Spring+Hibernate 出错:java.lang.NoSuchFieldError: NONE 解决

阅读更多

项目构架为JPA+Spring3+Hibernate 采用EJB3 EntityManager作为持久层实体对象管理器

 @PersistenceContext protected EntityManager em ;

 

 junit单元测试一下代码出错:java.lang.NoSuchFieldError: NONE

经过debug错误在"Query query = em.createQuery("select o from "+ entityName+" o ");"

QueryResult qr = new QueryResult<t>(); 

String entityName = getEntityName(this.entityClass); 

Query query = em.createQuery("select o from "+ entityName+" o "); 

错误提示:

java.lang.NoSuchFieldError: NONE
	at org.hibernate.ejb.QueryImpl.<init>(QueryImpl.java:609)
	at org.hibernate.ejb.QueryImpl.<init>(QueryImpl.java:80)
	at org.hibernate.ejb.AbstractEntityManagerImpl.createQuery(AbstractEntityManagerImpl.java:272)
	at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
	at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
	at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
	at java.lang.reflect.Method.invoke(Method.java:597)
	at org.springframework.orm.jpa.SharedEntityManagerCreator$SharedEntityManagerInvocationHandler.invoke(SharedEntityManagerCreator.java:240)
	at $Proxy17.createQuery(Unknown Source)
	at com.jshopping.util.service.SpringDAOSupport.getPaginationData(SpringDAOSupport.java:77)
	at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
	at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
	at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
	at java.lang.reflect.Method.invoke(Method.java:597)
	at org.springframework.aop.support.AopUtils.invokeJoinpointUsingReflection(AopUtils.java:309)
	at org.springframework.aop.framework.ReflectiveMethodInvocation.invokeJoinpoint(ReflectiveMethodInvocation.java:183)
	at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:150)
	at org.springframework.transaction.interceptor.TransactionInterceptor.invoke(TransactionInterceptor.java:110)
	at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:172)
	at org.springframework.aop.framework.JdkDynamicAopProxy.invoke(JdkDynamicAopProxy.java:202)
	at $Proxy20.getPaginationData(Unknown Source)
	at service.person.PersonServiceTest.getPaginationDataTest(PersonServiceTest.java:84)
	at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
	at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
	at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
	at java.lang.reflect.Method.invoke(Method.java:597)
	at org.junit.runners.model.FrameworkMethod$1.runReflectiveCall(FrameworkMethod.java:44)
	at org.junit.internal.runners.model.ReflectiveCallable.run(ReflectiveCallable.java:15)
	at org.junit.runners.model.FrameworkMethod.invokeExplosively(FrameworkMethod.java:41)
	at org.junit.internal.runners.statements.InvokeMethod.evaluate(InvokeMethod.java:20)
	at org.junit.internal.runners.statements.RunBefores.evaluate(RunBefores.java:28)
	at org.junit.internal.runners.statements.RunAfters.evaluate(RunAfters.java:31)
	at org.junit.runners.BlockJUnit4ClassRunner.runChild(BlockJUnit4ClassRunner.java:73)
	at org.junit.runners.BlockJUnit4ClassRunner.runChild(BlockJUnit4ClassRunner.java:46)
	at org.junit.runners.ParentRunner.runChildren(ParentRunner.java:180)
	at org.junit.runners.ParentRunner.access$000(ParentRunner.java:41)
	at org.junit.runners.ParentRunner$1.evaluate(ParentRunner.java:173)
	at org.junit.internal.runners.statements.RunBefores.evaluate(RunBefores.java:28)
	at org.junit.internal.runners.statements.RunAfters.evaluate(RunAfters.java:31)
	at org.junit.runners.ParentRunner.run(ParentRunner.java:220)
	at org.eclipse.jdt.internal.junit4.runner.JUnit4TestReference.run(JUnit4TestReference.java:46)
	at org.eclipse.jdt.internal.junit.runner.TestExecution.run(TestExecution.java:38)
	at org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.runTests(RemoteTestRunner.java:467)
	at org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.runTests(RemoteTestRunner.java:683)
	at org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.run(RemoteTestRunner.java:390)
	at org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.main(RemoteTestRunner.java:197)

  

原因:

错误是由javax.persistence.LockModeType造成的。 hibernate-jpa-2.0-api-1.0.0.Final.jar和Java EE 5中javaee.jar 都存在此类。

但二者中代码却有差异,具体到此错误:hibernate-jpa-2.0-api-1.0.0.Final.jar存在NONE域,在javaee.jar中不存在NONE域。 hibernate3.x实现中,需要调用有NONE域的LockModeType类,这里显然是使用javaee.jar中的LockModeType类。

解决方法: 将Myeclipse中Java EE 5 Libraries从Myeclipse "BuildPath""Liberaries"中删除即可。

分享到:
评论

相关推荐

    解决SpringDataJPA报错:org.hibernate.HibernateException: Access to DialectResolutionInfo cannot be null w

    org.springframework.beans.factory.BeanCreationException: Error creating bean with name 'entityManagerFactory' defined in class path resource [org/springframework/boot/autoconfigure/orm/jpa/...

    基于SpringBoot+Spring Data JPA+mybatis的仓库管理系统源码.zip

    1、基于SpringBoot+Spring Data JPA+mybatis的仓库管理系统源码.zip 2、该资源包括项目的全部源码,下载可以直接使用! 3、本项目适合作为计算机、数学、电子信息等专业的课程设计、期末大作业和毕设项目,作为参考...

    手动创建 SpringMvc +SpringDataJpa+Hibernate+ freemarker mavenProject+ 环境切换 webDemo

    在本项目中,我们主要探讨如何手动构建一个基于SpringMVC、Spring Data JPA、Hibernate以及FreeMarker模板引擎的Maven工程,同时实现环境切换功能。这个基础框架为日常开发工作提供了必要的支持。 首先,SpringMVC...

    spring-data-jpa-2.0.9.RELEASE-API文档-中文版.zip

    标签:springframework、data、spring、jpa、中文文档、jar包、java; 使用方法:解压翻译后的API文档,用浏览器打开“index.html”文件,即可纵览文档内容。 人性化翻译,文档中的代码和结构保持不变,注释和说明...

    SpringMVC+Spring+SpringDataJPA+Hibernate整合登录的效果

    这是整合SpringMVC+Spring+SpringDataJPA+Hibernate简单的实现登录的功能,用的是mysql数据库,这是一个web Project 如果你用的是JavaEE6那么你要注意bean-validator.jar和weld-osgi-bundle.jar与slf4j的jar包冲突。...

    仓库管理系统,SpringBoot+Spring Data JPA+......zip

    【标题】:“仓库管理系统,SpringBoot+Spring Data JPA+……” 这个系统是基于Spring Boot框架构建的一个仓库管理解决方案。Spring Boot是Java生态系统中的一个流行框架,它简化了创建独立的、生产级别的基于...

    maven+springjpa+hibernate

    在"maven+springjpa+hibernate"的例子中,Maven用于管理项目依赖,包括Spring Data JPA和Hibernate库。 **Spring Data JPA** Spring Data JPA是Spring框架的一部分,它简化了JPA(Java Persistence API)的使用,...

    spring+SpringMVC+Spring Data JPA+Maven(增删该查功能齐全)

    技术架构:SpringMVC4+Spring4+Spring Data JPA+hibernate4+Maven 声明:查了好多资料,下载了好多代码,发现没有几个能运行起来的,于是写下此代码,希望能够帮助后来者。此程序导入&创建DB,配置好maven便可运行。...

    管理系统系列--仓库管理系统,SpringBoot+Spring Data JPA+......zip

    【标题】"管理系统系列--仓库管理系统,SpringBoot+Spring Data JPA+......zip" 提供了一个关于构建仓库管理系统的项目框架,它利用了Spring Boot和Spring Data JPA等技术。这个系统旨在自动化仓库操作,提高库存...

    hibernate-jpa-2.1-api-1.0.2.Final-API文档-中文版.zip

    标签:hibernate、javax、persistence、jpa、api、中文文档、jar包、java; 使用方法:解压翻译后的API文档,用浏览器打开“index.html”文件,即可纵览文档内容。 人性化翻译,文档中的代码和结构保持不变,注释和...

    Maven整合Spring+SpringMVC+Hibernate+SpringDataJPA

    在现代Java Web开发中,"Maven整合Spring+SpringMVC+Hibernate+SpringDataJPA"是一个常见的架构组合,被广泛应用于构建企业级应用程序。这个组合通常被称为"SSM",其中"M"代表Maven,"S"代表Spring,包括Spring核心...

    hibernate-jpa-2.1-api-1.0.2.Final-API文档-中英对照版.zip

    标签:hibernate、javax、persistence、jpa、api、中英对照文档、jar包、java; 使用方法:解压翻译后的API文档,用浏览器打开“index.html”文件,即可纵览文档内容。 人性化翻译,文档中的代码和结构保持不变,...

    s2sh s2sh项目 JPA项目 JPA+struts2+Hibernate+spring

    标题提到的“s2sh s2sh项目 JPA项目 JPA+struts2+Hibernate+spring”是指一个基于Struts2、Spring和Hibernate的Java Web项目,其中还集成了JPA(Java Persistence API)作为数据持久化层。这个项目是一个很好的学习...

    springmvc+spring3+hibernate4整合

    1. 工具和版本选择:在搭建Spring+SpringMVC+JPA+Hibernate平台时,可以选择myeclipse8.6作为开发工具,并使用mysql5.1作为数据库。作者建议使用Spring2.5和Hibernate3.3版本来避免jar包冲突,相较于Spring2.5和...

    java.lang.NoClassDefFoundError: javax/persistence/EntityListener

    标题 "java.lang.NoClassDefFoundError: javax/persistence/EntityListener" 提到的问题是一个常见的Java运行时异常,通常表示在类加载时找不到指定的类定义。这个错误在Java应用程序或Web应用中出现,可能是因为...

    maven+springmvc+springjpa+hibernate

    在IT行业中,构建高效、可维护的Web应用是至关重要的,而"Maven+SpringMVC+SpringJPA+Hibernate"的组合就是一个常见的解决方案。这个组合提供了全面的开发工具和技术,帮助开发者快速构建基于Java的Web应用程序。...

    Maven构建的JPA+Spring

    "Maven构建的JPA+Spring"是一个基于Java的项目,利用Maven作为构建工具,集成Spring框架和Java Persistence API(JPA)来管理数据库操作。这个演示工程旨在展示如何有效地结合这三个核心技术,为开发者提供一个快速...

Global site tag (gtag.js) - Google Analytics