2012-05-02 31 views
0

我需要知道是否可以使用PostgreSQL而不是Derby自動創建表。如何使用PostgreSQL和JPA從實體類中自動創建表?

故事:我成功地用Hibernate和Derby建立了一個NetBeans Java項目。我從我的實體類創建了JPA控制器類。爲了測試項目,我爲這些控制器類創建了JUnit測試類。

第一次運行這些測試類時,這些表將在Derby中自動創建。執行測試後,我可以在數據庫瀏覽器中看到表格。

在persistence.xml有需要時(注意「;創建=真」在該行的末端)這樣

<property name="hibernate.connection.url" value="jdbc:derby://localhost:1527/MySampleDb;create=true"/> 

一條線建立連接和指示表被創建。

當使用PostgreSQL而不是德比。這不起作用了。添加「; create = true」會破壞代碼。 PostgreSQL可以自動創建表嗎?我應該使用Hibernate之外的其他持久性庫嗎?

回答

9

是的。這個有可能。您需要將hibernate.hbm2ddl.auto設爲create

 <property name="hibernate.hbm2ddl.auto" value="create"/> 
+0

得到它的工作。謝謝! – twigmac

相關問題