我使用Hibernate,Maven和Eclipse(STS構建)來構建項目。我正在使用hbm.xml文件來指定我的模式。我想用Hibernate的hbm2java來生成我的模型類。我已經運行良好並生成了我想要的代碼。什麼是使用Hibernate的hbm2java的最佳實踐?
它從命令行完美運行,生成模型代碼,然後按預期構建和測試。
但是,Eclipse似乎無法處理它。它會定期「失去理智」,無法解決我手動編碼的DAO類中引用的非常簡單的導入和類。它無法找到的東西是像HibernateUtil這樣的類。具有諷刺意味的是,它似乎沒有任何困難找到模型類。
未解決的類位於運行結束時的target/classes/blah-blah文件夾中。所以他們顯然被複制到正確的地方。
在「持續集成」環境中,是否最好生成一次源代碼,將它們提交給我的版本控制,然後禁用代碼gen?或者是否有可能每次都生成代碼,從而確保我能夠在沒有人爲干預的情況下獲取任何數據庫更改?
謝謝。但我希望「真相之源」是我的數據庫模式。通過手動編寫模式類和模型類,我現在有多個知識存在的地方。您是否看到將數據庫模式(或本例中爲hbm.xml文件)定義爲模型的唯一位置? (我想你可以在一個地方定義它:你的Java模型類) – Marvo 2011-12-31 00:25:30
我們使用了註釋,但發現它們完全相反:看起來很醜,遍佈代碼。使用hbm文件,感覺像數據庫定義全部在一個地方。但我還沒有解決這個問題。 (儘管我有問題,但我真的很感謝你的回答。) – Marvo 2011-12-31 00:27:02
數據庫模式位於數據庫或用於創建模式的SQL腳本中,也位於hbm文件中,所以我不會看到它如何更改任何有關從hbm或手動生成的類的方法。如果您擔心hbm和java文件未同步,請使用註釋。無論如何你都應該進行單元測試來測試一切正常。 – 2011-12-31 00:30:33