Error creating bean with name 'sessionFactory' defined in class path resource [applicationContext.xm

来源:互联网 发布:小学生电脑绘画软件 编辑:程序博客网 时间:2024/05/23 00:48

Exception in thread "main" java.lang.NoClassDefFoundError: javax/persistence/EntityListeners
 at org.hibernate.cfg.annotations.reflection.JPAMetadataProvider.getDefaults(JPAMetadataProvider.java:96)
 at org.hibernate.annotations.common.reflection.java.JavaReflectionManager.getDefaults(JavaReflectionManager.java:226)
 at org.hibernate.cfg.Configuration.secondPassCompile(Configuration.java:1355)
 at org.hibernate.cfg.Configuration.buildSessionFactory(Configuration.java:1826)
 at StufentTest.main(StufentTest.java:18)

今天下午运行一个简单的hibernate出现的错误,用的是hibernate-distribution-3.6.0.Final,找不出错误在什么地方,就到网上查。

三种说法:

(1)

在使用Hibernate3的时候,发现程序编译好了,在运行时总是抛出java.lang.NoClassDefFoundError: javax/persistence/EntityListeners异常,经查找是因为缺少ejb3-persistence.jar包。 

只需要在类库中加入ejb3-persistence.jar,就不会出现这个异常了。 

这里不理解的是Hibernate3, 为什么不把ejb3-persistence.jar直接放到自己需要的类库中,而非让用户自己找,去添加。

(2)版本冲突,解决好像是把包一个个导入。

(3)Hibernate 3.6是需要依靠JPA。所以只要把JPA的包导入就可以了,hibernate-distribution-3.6.0.Final/lib/jpa/hibernate-jpa-2.0-api-1.0.0.Final.jar。

我只用了简单的第三种方法

0 1
原创粉丝点击