Hibernate錯誤集錦及解決辦法1


1.case by: java.lang.NoSuchMethodError: javax.persistence.OneToMany.orphanRemoval()Z
網絡上方法:
1.hibernate-jpa-2.0-api-1.0.0.Final和ejb3-persistence有衝突,如果升級到 Hibernate3.5
那麼可以把ejb3-persistence幹掉
2解決辦法:刪除對Java EE 5 Libraries的使用。
問題原因:javaee.jar中的部分類與hibernate-jpa-2.0-api-1.0.0.Final.jar存在版本衝突。
OneToMany.orphanRemoval()Z解決,和思考
轉自(http://yifanxiang.blog.163.com/blog/static/500008342010427936238 /)
在整合和寫oa時,發現一個問題,新的版本不一定是穩定的版本,可能存大n多bug.
就目前而言,比較好用的版本是:
spring2.5,hibernate3.3,struts2.1.12(當前目前都可以用annotation)
原因(spring2.5主包集中,好用一些,用spring3.0.2也沒問題,
hibernate3.5 的javax.persistence.OneToMany.orphanRemoval()Z 現在都沒解決
struts2.com.opensymphony.xwork2.util.TextUtils 的問題,最好是加入struts2.1.12裏的xwork包,還不如用struts2.1.12)
以下是出現的問題:
5:使用MyEclipse創建JavaEE5.0的Web項目,在使用Hibernate3.5.1的註解功能時出現錯誤:
java.lang.NoSuchMethodError: javax.persistence.OneToMany.orphanRemoval()Z 。
我程序出現找個錯誤,主要是在建立關係之後,如果實體,沒有通過註解建立關係,就不會出現錯誤。
單個的hibernate3.5.2用起來沒有任何問題,一結合spring3.0就報錯。
解決辦法:降低 hibernate的版本爲3.3。

問題原因:javaee.jar中的部分類與hibernate-jpa-2.0- api-1.0.0.Final.jar存在版本衝突。
但是如果刪除了Java EE 5 Libraries,寫程序會有很大麻煩.
多次測試,用了好多版本,
後面還是降低 hibernate的版本爲3.3
(其它的方法無解決,下了最新的Hibernate3.5.2也不行,)這個合spring的版本無關。
6.org.hibernate.MappingException: Unknown entity: com.lovo.cq.po.User
用老版本spring2.5時
如果你的po寫在com.lovo.cq.po裏,但是在beans.xml裏
<property name="packagesToScan">
<list>
<value>com.lovo.cq</value>
</list>
</property>
寫成這樣就會出錯。
改成
<property name="packagesToScan">
<list>
<value>com.lovo.cq.po</value>
</list>
</property>
寫成這樣就會出錯。

新版本的spring3.0.2就不會報錯
2,Caused by: java.lang.ClassNotFoundException: javax.persistence.Entity
網上方法:1.:加入Hibernate文件夾下的ejb3-persistence.jar
發佈了108 篇原創文章 · 獲贊 7 · 訪問量 7萬+
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章