java.lang.NoSuchMethodError: javax.persistence.OneToMany.orphanRemoval()Z

spring3.0+hibernate4+struts2整合问题,以下是用junit测试出来的莫名其妙的错误


错误提示:

Initial SessionFactory creation failed.java.lang.NoSuchMethodError: javax.persistence.OneToMany.orphanRemoval()Z


网上的解决方法:

(1)

如果是使用MyEclipse创建JavaEE5.0的Web项目,解决办法:删除对Java EE 5 Libraries的使用。

问题原因:javaee.jar中的部分类与hibernate-jpa-2.0-api-1.0.0.Final.jar存在版本冲突。

参考文章:http://hi.baidu.com/siasmen/blog/item/7253e954e3abdb55d0090607.html

(2)

如果使用了ejb的jar包,删除引用,

问题原因:与hibernate-jpa-2.0-api-1.0.0.Final.jar冲突

(3)

如果是用junit测试,junit4自带的jpa包与hibernate的jpa包冲突

 

本人是第一种问题,一般好像都是第一种和第二种。

另外奇异的是本人只在使用OneToOne注解时报了错,而只用ManyToOne的时候却没有。。。题外话了,不知道为何

 

另转载注明请出处http://hi.baidu.com/woodcock1017/blog/item/cde710dc2f981ef877c63811.html



我自己的解决方法:

1.把低版本的那个jdk jar包或者j2ee5以下的jar 的build path去掉

2.重新再eclipse或者myeclipse里面的preferance---》》java --》》install jre里面重新安装1.6以上的jdk,我用的是1.7版本,立刻就没有问题了

版权声明:本文为博主原创文章,未经博主允许不得转载。

原文地址:https://www.cnblogs.com/raylee2007/p/4774596.html