我用我的servlet休眠訪問database.DB含有大量的外鍵,組合鍵和後退參考..這是最好的工具生成Hibernate映射從MySQL數據庫
您能否提供我一些工具在Java中將MySQL數據庫逆向工程化爲面向對象的文件,以便我可以在休眠狀態下使用它。
我用我的servlet休眠訪問database.DB含有大量的外鍵,組合鍵和後退參考..這是最好的工具生成Hibernate映射從MySQL數據庫
您能否提供我一些工具在Java中將MySQL數據庫逆向工程化爲面向對象的文件,以便我可以在休眠狀態下使用它。
看看JBoss Hibernate Tools它允許您對現有數據庫進行逆向工程。
在我看來最好的是MinuteProject!
檢查它:
http://javacodesamples.wordpress.com/2011/02/04/jpa2-reverse-engineering-tool/
http://www.dzone.com/links/jpa2_reverseengineering_with_minuteproject_pragma.html
http://javacodesamples.wordpress.com/2010/09/04/minute-project-episode-1-the-productivity-provider/
它也是一個Spring + Hibernate的JPA的旁軌,因此您可以使用爲你冬眠的需求。
我要去試試這個..謝謝你的建議 – Eby
IDE通常提供這樣的實體生成。 例如,如果您使用Netbeans,只需從Java SE/Java EE項目中的數據庫中的File/New/Persistence/Entity Classes生成JPA實體。 順便說一下,儘可能使用標準的JPA(2)機制是一個好主意,以便不依賴於特定的O/R映射器(如Hibernate)或數據庫。
我們使用Hibernate的工具生成具有hibernate.reveng.xml
文件的幫助*.hbm.xml
文件。然後,我們應用Hibernate Synchronizer Eclipse的插件以使用*.hbm.xml
文件生成實體和DAO。
hibernate.reveng.xml
填寫自動生成無法猜測您腦海中有什麼的部分。
Hibernate Synchronizer的主要優點是爲您生成的實體/道數創建基類。您將自定義屬性/方法添加到基類的子類(再次自動生成)。這樣做的好處是,如果您對數據庫進行更改並重新生成,則您所做的更改(子類)將保持不變。
無論您選擇哪種工具,都要注意構建一個系統,在該系統中,代碼生成非常簡單而且無痛,不僅是第一次,而且在項目的高級階段也是如此。如果不是,你會失去所有優勢。
我與克里斯同意,
版本的Minuteproject 4 JPA2 0.5.5還生成複合鍵與@Embeddable註釋的類。實體類擁有@EmbeddedId作爲實體,引用Embeddable類。對於組合鍵的外鍵部分,它會生成關聯的@MapsId。
與此同時,JPA2模板還沒有涵蓋複合外鍵模式。
希望它有幫助。
請標記答案,.. –