Hibernate在MyEclipse8.6中生成報錯解決方法

一.切換到Database Explorer 後,選擇表後點 Hibernate Reverse Engineering,然後就出來下邊這個提示信息.點ok後生成不了文件,或者生成了文件,文件內部會報錯。
This wizard generates Hibernate3.0 OR mappings(*.hbm.xml).The project your select is a Hibernate 2 project .Execution of this wizard may produce incompatible mapping files.

解決辦法:修改項目根目錄中 .myhibernatedata 文件中,version的原值爲2.1,修改爲3.1即可。myeclipse8.6和10親測可用。

版權聲明:本文爲CSDN博主「ajfnsadn」的原創文章,遵循 CC 4.0 BY-SA 版權協議,轉載請附上原文出處鏈接及本聲明。
原文鏈接:https://blog.csdn.net/qq_26668499/article/details/52328144

二.生成提示Path must include project and resource name: /

解決方法:修改.myhibernatedata文件裏面的configFile屬性

指定hibernate.cfg.xmll路徑。格式是/項目名稱/src/hibernate.cfg.xml

如果提示hibenate功能2.2衝突,修改version 爲當前hibernate使用版本
 
.myhibernatedata

genBasicCompId=false
sessionFactoryName=
profile=
daoSFId=
version=3.0
jndiPath=
detectM2M=false
reStrategyClass=
springDaoFile=
useJavaTypes=true
keyGenerator=uuid.string
libInstallFolder=
addLibs2Project=false
genVersionTag=false
sessionFactoryId=
basePersistenceClass=
reSettingsFile=/jxwpgsh/hibernate.reveng.xml
configFile=/jxwpgsh/src/hibernate.cfg.xml
createConfigFile=false
addLibs2Classpath=false

原文鏈接: https://www.iteye.com/blog/zhouchaofei2010-1312250

三.運行後報錯"table" is not mapped

現象:
使用hql="from person" 出現" person is not mapped " 錯誤

配置文件如下:
<hibernate-mapping>
    <class name="src.Person"
           table="person">
        <id name="name"/>      
        <property name="password"/>
    </class>
</hibernate-mapping>

原因:
hql是寫的是PO對象,不是table名
故改爲配置文件中的紅色部分的類名即可。

原文鏈接: http://www.blogjava.net/wj110reg/articles/216180.html

四.MyEclipse運行hibernate程序報Duplicate class/entity mapping問題

由於hibernate.cfg.xml在根目錄下和存放xml文件目錄都有一個,導致衝突造成,僅保留根目錄的即可

可參考鏈接: https://www.cnblogs.com/xinyuyuanm/archive/2013/05/04/3060077.html

 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章