`

Hibernate 3.5 缺少jpa 包问题

阅读更多

Exception in thread "main" java.lang.NoClassDefFoundError: javax/persistence/Cacheable
 at org.hibernate.cfg.AnnotationBinder.determineCacheSettings(AnnotationBinder.java:946)
 at org.hibernate.cfg.AnnotationBinder.bindClass(AnnotationBinder.java:589)
 at org.hibernate.cfg.AnnotationConfiguration.processArtifactsOfType(AnnotationConfiguration.java:636)
 at org.hibernate.cfg.AnnotationConfiguration.secondPassCompile(AnnotationConfiguration.java:359)
 at org.hibernate.cfg.Configuration.buildSessionFactory(Configuration.java:1377)
 at org.hibernate.cfg.AnnotationConfiguration.buildSessionFactory(AnnotationConfiguration.java:954)
 at TeacherTest.main(TeacherTest.java:16)
Caused by: java.lang.ClassNotFoundException: javax.persistence.Cacheable
 at java.net.URLClassLoader$1.run(URLClassLoader.java:200)
 at java.security.AccessController.doPrivileged(Native Method)
 at java.net.URLClassLoader.findClass(URLClassLoader.java:188)
 at java.lang.ClassLoader.loadClass(ClassLoader.java:307)
 at sun.misc.Launcher$AppClassLoader.loadClass(Launcher.java:301)
 at java.lang.ClassLoader.loadClass(ClassLoader.java:252)
 at java.lang.ClassLoader.loadClassInternal(ClassLoader.java:320)
 ... 7 more

 

错误原因,javax.persistence.Cacheable 是 JPA 2.0 规范中的东西!

支持 JPA 2 的 Hibernate 实现 3.5 版目前还处于 CR2 版本之中,还没有正式发布。

需要在加入hibernate-distribution-3.5.0-Final\lib\jpa目录下的hibernate-jpa-2.0-api-1.0.0.Final.jar

分享到:
评论
6 楼 cityjin 2010-12-10  
还是这里的资源实用啊,昨晚也遇到了同样的问题,调试了一整晚都没弄好,看错误提示是缺少包,但我以为是其他地方的原因,因为程序是在中途遇到这个问题的,今天来查了一下,果然是hibernate新版本缺包的问题,十分谢谢啊!
5 楼 xueyunji1989 2010-09-11  
太感谢了。解我燃眉之急。。
4 楼 eryk 2010-04-30  
额,我还没遇到这个情况...
3 楼 armenpoon 2010-04-30  
我将hibernate-jpa-2.0-api-1.0.0.Final.jar 加入到包中,不过却影响到Validator的使用,

不知道你们有没有遇到这种问题,如何解决?
[14:36:43.159] {http--8080-3$14093817} org.springframework.web.util.NestedServletException: Handler processing failed; nested exception is java.lang.AbstractMethodError
[14:36:43.159] {http--8080-3$14093817} 	at org.springframework.web.servlet.DispatcherServlet.doDispatch(DispatcherServlet.java:820)
[14:36:43.159] {http--8080-3$14093817} 	at org.springframework.web.servlet.DispatcherServlet.doService(DispatcherServlet.java:716)
[14:36:43.159] {http--8080-3$14093817} 	at org.springframework.web.servlet.FrameworkServlet.processRequest(FrameworkServlet.java:647)
[14:36:43.159] {http--8080-3$14093817} 	at org.springframework.web.servlet.FrameworkServlet.doPost(FrameworkServlet.java:563)
[14:36:43.159] {http--8080-3$14093817} 	at javax.servlet.http.HttpServlet.service(HttpServlet.java:153)
[14:36:43.159] {http--8080-3$14093817} 	at javax.servlet.http.HttpServlet.service(HttpServlet.java:91)
[14:36:43.159] {http--8080-3$14093817} 	at com.caucho.server.dispatch.ServletFilterChain.doFilter(ServletFilterChain.java:103)
[14:36:43.159] {http--8080-3$14093817} 	at com.caucho.server.webapp.DispatchFilterChain.doFilter(DispatchFilterChain.java:97)
[14:36:43.159] {http--8080-3$14093817} 	at com.caucho.server.dispatch.ServletInvocation.service(ServletInvocation.java:265)
[14:36:43.159] {http--8080-3$14093817} 	at com.caucho.server.webapp.RequestDispatcherImpl.forward(RequestDispatcherImpl.java:293)
[14:36:43.159] {http--8080-3$14093817} 	at com.caucho.server.webapp.RequestDispatcherImpl.forward(RequestDispatcherImpl.java:111)
[14:36:43.159] {http--8080-3$14093817} 	at org.tuckey.web.filters.urlrewrite.NormalRewrittenUrl.doRewrite(NormalRewrittenUrl.java:195)
[14:36:43.159] {http--8080-3$14093817} 	at org.tuckey.web.filters.urlrewrite.RuleChain.handleRewrite(RuleChain.java:159)
[14:36:43.159] {http--8080-3$14093817} 	at org.tuckey.web.filters.urlrewrite.RuleChain.doRules(RuleChain.java:141)
[14:36:43.159] {http--8080-3$14093817} 	at org.tuckey.web.filters.urlrewrite.UrlRewriter.processRequest(UrlRewriter.java:90)
[14:36:43.159] {http--8080-3$14093817} 	at org.tuckey.web.filters.urlrewrite.UrlRewriteFilter.doFilter(UrlRewriteFilter.java:417)
[14:36:43.159] {http--8080-3$14093817} 	at com.caucho.server.dispatch.FilterFilterChain.doFilter(FilterFilterChain.java:87)
[14:36:43.159] {http--8080-3$14093817} 	at org.springframework.web.filter.RequestContextFilter.doFilterInternal(RequestContextFilter.java:83)
[14:36:43.159] {http--8080-3$14093817} 	at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:76)
[14:36:43.159] {http--8080-3$14093817} 	at com.caucho.server.dispatch.FilterFilterChain.doFilter(FilterFilterChain.java:87)
[14:36:43.159] {http--8080-3$14093817} 	at com.caucho.server.webapp.WebAppFilterChain.doFilter(WebAppFilterChain.java:187)
[14:36:43.159] {http--8080-3$14093817} 	at com.caucho.server.dispatch.ServletInvocation.service(ServletInvocation.java:265)
[14:36:43.159] {http--8080-3$14093817} 	at com.caucho.server.http.HttpRequest.handleRequest(HttpRequest.java:273)
[14:36:43.159] {http--8080-3$14093817} 	at com.caucho.server.port.TcpConnection.run(TcpConnection.java:682)
[14:36:43.159] {http--8080-3$14093817} 	at com.caucho.util.ThreadPool$Item.runTasks(ThreadPool.java:743)
[14:36:43.159] {http--8080-3$14093817} 	at com.caucho.util.ThreadPool$Item.run(ThreadPool.java:662)
[14:36:43.159] {http--8080-3$14093817} 	at java.lang.Thread.run(Thread.java:619)
[14:36:43.159] {http--8080-3$14093817} Caused by: java.lang.AbstractMethodError
[14:36:43.159] {http--8080-3$14093817} 	at javax.persistence.Persistence$1.isLoaded(Persistence.java:78)
[14:36:43.159] {http--8080-3$14093817} 	at org.hibernate.validator.engine.resolver.JPATraversableResolver.isReachable(JPATraversableResolver.java:33)
[14:36:43.159] {http--8080-3$14093817} 	at org.hibernate.validator.engine.resolver.DefaultTraversableResolver.isReachable(DefaultTraversableResolver.java:112)
[14:36:43.159] {http--8080-3$14093817} 	at org.hibernate.validator.engine.resolver.SingleThreadCachedTraversableResolver.isReachable(SingleThreadCachedTraversableResolver.java:47)
[14:36:43.159] {http--8080-3$14093817} 	at org.hibernate.validator.engine.ValidatorImpl.isValidationRequired(ValidatorImpl.java:764)
[14:36:43.159] {http--8080-3$14093817} 	at org.hibernate.validator.engine.ValidatorImpl.validateConstraint(ValidatorImpl.java:331)
[14:36:43.159] {http--8080-3$14093817} 	at org.hibernate.validator.engine.ValidatorImpl.validateConstraintsForRedefinedDefaultGroup(ValidatorImpl.java:278)
[14:36:43.159] {http--8080-3$14093817} 	at org.hibernate.validator.engine.ValidatorImpl.validateConstraintsForCurrentGroup(ValidatorImpl.java:260)
[14:36:43.159] {http--8080-3$14093817} 	at org.hibernate.validator.engine.ValidatorImpl.validateInContext(ValidatorImpl.java:213)
[14:36:43.159] {http--8080-3$14093817} 	at org.hibernate.validator.engine.ValidatorImpl.validate(ValidatorImpl.java:119)
[14:36:43.159] {http--8080-3$14093817} 	at org.springframework.validation.beanvalidation.SpringValidatorAdapter.validate(SpringValidatorAdapter.java:114)
[14:36:43.159] {http--8080-3$14093817} 	at com.espider.oes.controller.ProfileRestAction.update(ProfileRestAction.java:77)
[14:36:43.159] {http--8080-3$14093817} 	at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
[14:36:43.159] {http--8080-3$14093817} 	at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
[14:36:43.159] {http--8080-3$14093817} 	at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
[14:36:43.159] {http--8080-3$14093817} 	at java.lang.reflect.Method.invoke(Method.java:597)
[14:36:43.159] {http--8080-3$14093817} 	at org.springframework.web.bind.annotation.support.HandlerMethodInvoker.doInvokeMethod(HandlerMethodInvoker.java:710)
[14:36:43.159] {http--8080-3$14093817} 	at org.springframework.web.bind.annotation.support.HandlerMethodInvoker.invokeHandlerMethod(HandlerMethodInvoker.java:167)
[14:36:43.159] {http--8080-3$14093817} 	at org.springframework.web.servlet.mvc.annotation.AnnotationMethodHandlerAdapter.invokeHandlerMethod(AnnotationMethodHandlerAdapter.java:414)
[14:36:43.159] {http--8080-3$14093817} 	at org.springframework.web.servlet.mvc.annotation.AnnotationMethodHandlerAdapter.handle(AnnotationMethodHandlerAdapter.java:402)
[14:36:43.159] {http--8080-3$14093817} 	at org.springframework.web.servlet.DispatcherServlet.doDispatch(DispatcherServlet.java:771)
[14:36:43.159] {http--8080-3$14093817} 	... 26 more
2 楼 wangking717 2010-04-10  
确实。。但是加入了hibernate-jpa-2.0-api-1.0.0.Final.jar会和ejb3-persistence.jar里很多重复,难免会出现冲突情况。
可以将Cacheable类加入到ejb3-persistence.jar中,或者还是用以前的稳定版本,3.3.2没有此问题。
1 楼 hlw579 2010-04-06  
支持一下

谢谢

相关推荐

    Hibernate 3.5完整包下载路径

    **标题:“Hibernate 3.5完整包下载路径”** **描述**:虽然描述部分为空,但根据提供的信息,我们可以推断这是一个关于获取Hibernate 3.5版本的资源指南。Hibernate是一个流行的Java对象关系映射(ORM)框架,它...

    hibernate3.5完整jar

    11. **JPA支持**:虽然Hibernate最初是一个独立的ORM框架,但在3.5版本中,它也兼容Java Persistence API (JPA),使得开发者可以选择使用标准API或Hibernate特定的API。 12. **性能优化**:Hibernate 3.5对查询性能...

    Struts2 + Spring3 + Hibernate3.5 整合(集成测试配套jar包更新构建脚本使用说明)

    本版本全面更新了jar包,全部使用了当前最新版本的jar包,struct2.1.8 spring3 hibernate3.5,全面使用注解取代xm的l配置。 另外增加了一个ant构建脚本,支持使用hudson完成每日构建,持续集成,自动测试,代码规范...

    hibernate 3.5文档下载

    6. **JPA集成**:Java Persistence API(JPA)是Java平台上的ORM规范,Hibernate 3.5很好地集成了JPA,使得开发者可以选择使用JPA的API来操作数据库。 7. **实体生命周期管理**:Hibernate管理着对象的生命周期,...

    hibernate3.5_lib

    2. **JPA (Java Persistence API)**:尽管Hibernate最初是一个独立的ORM框架,但随着JPA的出现,Hibernate也提供了对JPA标准的支持。这使得开发者可以选择使用更标准化的API来操作数据库,同时保留Hibernate的强大...

    Hibernate3_JPA_所需jar包

    标题“Hibernate3_JPA_所需jar包”指的是在使用Hibernate3框架实现Java Persistence API (JPA)时所需的库文件集合。这些jar包是Java应用程序开发中的关键组件,它们提供了对对象关系映射(ORM)的支持,使得开发者...

    struts2.1 spring3.0 hibernate3.5 jar包集合

    Hibernate3.5引入了一些新特性,如第二级缓存、改进的HQL(Hibernate Query Language)以及对JPA 2.0的支持。 将这三个框架整合在一起,通常是为了构建一个强大的、可维护的Java Web应用。在实际开发中,Struts2...

    hibernate3.5_api

    Hibernate 3.5不仅支持自己的API,还兼容JPA,使得应用可以在不同ORM框架间切换变得更加容易。 6. **性能优化**:此版本中,Hibernate对查询优化、结果集缓存、连接池管理等方面进行了改进,提高了整体性能。 7. *...

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

    赠送jar包:hibernate-jpa-2.1-api-1.0.2.Final.jar; 赠送原API文档:hibernate-jpa-2.1-api-1.0.2.Final-javadoc.jar; 赠送源代码:hibernate-jpa-2.1-api-1.0.2.Final-sources.jar; 赠送Maven依赖信息文件:...

    hibernate4使用JPA所需要的jar包

    在“jpa包hibernate4”这个压缩包中,很可能包含了以上提到的一些jar文件,这些都是实现Hibernate4与JPA集成的基础。你需要将这些jar添加到你的项目类路径中,以便编译和运行时能够正确地识别和加载所需的类。 为了...

    hibernate3.5

    Hibernate 3.5在3.x系列中引入了若干改进和新功能,包括对JPA(Java Persistence API)的更好支持、性能优化以及对最新JDBC驱动的兼容性。这个版本的目标是提高开发效率,简化数据库操作,同时保持与不同数据库系统...

    struts1.2+hibernate3.5+spring2.5框架搭建

    Struts1.2、Hibernate3.5和Spring2.5是经典的Java企业级开发框架组合,被称为SSH(Struts-Spring-Hibernate)架构。这个框架集合提供了强大的模型-视图-控制器(MVC)设计模式支持,数据持久化以及依赖注入等功能,...

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

    赠送jar包:hibernate-jpa-2.1-api-1.0.2.Final.jar; 赠送原API文档:hibernate-jpa-2.1-api-1.0.2.Final-javadoc.jar; 赠送源代码:hibernate-jpa-2.1-api-1.0.2.Final-sources.jar; 赠送Maven依赖信息文件:...

    GSH:spring3.1.0M2+Hibernate3.5+GWT2.4+JPA+Annotation+Spring4gwt0.0.1亲手整合

    GSH:spring3.1.0M2+Hibernate3.5+GWT2.4+JPA+Annotation+Spring4gwt0.0.1亲手整合,也可以上新浪博客去看 http://blog.sina.com.cn/s/blog_687dfecb0100yrmf.html

    hibernate3.5中文文档

    《Hibernate 3.5中文文档》是针对Java开发者的重要参考资料,它详尽地阐述了Hibernate这一持久化框架的使用方法和核心概念。Hibernate是Java领域中最流行的对象关系映射(ORM)工具之一,它允许开发者用面向对象的...

    基于hibernate3.6的jpa例子

    **基于Hibernate 3.6的JPA例子详解** 在Java世界中,ORM(Object-Relational Mapping)框架如Hibernate已经成为数据库操作的标准工具。本篇将深入探讨如何利用Hibernate 3.6版本进行JPA(Java Persistence API)...

    spring security3,spring3.0,hibernate3.5,struts2

    Hibernate支持JPA(Java Persistence API),允许开发者以面向对象的方式处理数据库操作。在安全框架中,Hibernate可能用于持久化用户的认证和授权信息。 Struts2是一个基于MVC(模型-视图-控制器)设计模式的Web...

    spring4+hibernate4+jpa 附有jar包

    本文将详细解析"spring4+hibernate4+jpa 附有jar包"这个主题,帮助你理解和掌握这些技术的集成与应用。 首先,Spring是一个开源的应用框架,它提供了一个全面的编程和配置模型,可以用于构建各种复杂的企业级应用...

    SSH 手动搭建Spring2.5+Strut1.3+Hibernate3.5

    Hibernate 3.5支持HQL(Hibernate查询语言)和JPA(Java Persistence API)。要使用Hibernate,需引入`hibernate-core`, `hibernate-annotations`, `hibernate-entitymanager`等库。创建`hibernate.cfg.xml`配置文件...

Global site tag (gtag.js) - Google Analytics