2012-09-05 100 views
0

我在Maven項目的持久層中使用hibernate,我對此很感興趣。有時,當通過jpa/hibernate從數據庫執行讀操作時,某些表被刪除。該項目沒有實現這種功能。這是一個已知的問題?這些操作只是讀取操作。JPA休眠下降表

+0

請發表您的persistence.xml – siebz0r

回答

1

現在我終於找到了答案。看起來像集成測試中的某些配置使它們針對錯誤的db(表中被刪除的那個)運行,而不是我們想要使用的im-db。集成測試應該做一個下降,但是不能創建新的表。所以這個問題的答案是鬆散耦合到問題上,而不是我們的錯誤配置。但也許這個答案可以讓其他人有同樣的問題思考這個問題。

0

我對hibernate也很陌生,但我確實記得在hibernate.xml或persistence.xml中有一個設置,您可以在其中指定供應商每次運行該應用程序時刪除並生成模式表。

以下屬性將在應用程序啓動時創建表,並且在下次運行應用程序時,如果已存在,則不會重新生成表。

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

「create-drop」的值將在會話結束時創建表並放下。

<property name="hbm2ddl.auto" value="create-drop"/> 

看一看這個文件Jboss reference

希望它能幫助。

+0

我沒有使用任何值的屬性。它仍然可以放桌子嗎? – Mike