2010-02-18 62 views
2

我正在編寫一個項目,該項目將使用mySQL或Derby(它必須在兩種情況下都可以使用)。爲了解決這個問題,我使用Hibernate並且它工作得很好,但是對於一種情況:我有一些包含城鎮的表格,其中包含相關數據,因此如果我知道我可以加入並獲得該縣的州和郵政編碼。這些表格充滿了成千上萬的行。我沒有使用Hibernate來處理它們,而是使用普通的JDBC。這些表格不會及時更改,它們只是供參考和滿足自動完成需求。那麼在mySQL和JavaDB中重現這個表的最好方法是什麼?具體而言,它們必須在應用程序的第一次啓動時生成。我想創建一個特殊的格式,並保存一切文本文件,然後在第一次運行時,他們將被插入數據庫...但有沒有辦法保存一些編碼,並使用已經存在的工具? 我發現很多人說使用CSV,但事實並非如此,因爲它不會保留像列類型或長度這樣的信息。我的mySQL工具(sqlYog)生成的XML也一樣。你有其他建議或工具嗎?多數據庫模式導出

回答

0

我會使用Hibernate,並將實體映射爲mutable = false。那麼Hibernate不允許改變任何東西。使用標準Hibernate方法創建模式,然後使用IStatelessSession插入記錄,確保啓用了批處理。

+0

嗯......是的,但我該如何保存表格數據? – gotch4 2010-02-19 10:42:26

+0

加載文本文件中的記錄並在每個文件上執行statelessSession.Insert。您的映射文件中已經有了表格定義。 – 2010-02-20 18:41:02