2013-03-29 66 views
3

我有一個使用Hibernate 4.1和Spring 3.1.1的應用程序。我使用Spring的HibernateJpaVendorAdapter並將generateDdl設置爲true來創建實體。您是否可以指定在創建自動創建時不創建實體作爲表格?

我剛創建了一個視圖並創建了一個映射到該視圖的實體。視圖的實體用@Entity,@Table(name =「ViewName」)和@Immutable註釋。當我部署Web應用程序時,它會自動爲所有實體創建表,爲應該映射到我的視圖的實體創建一個表。我必須進入並手動刪除該表,然後創建視圖。雖然我可以繼續這樣做,但我想知道是否有辦法指定不爲該特定「查看」實體創建表。

+0

我希望這不是在生產環境中。 –

+0

不,只是爲了開發和測試。 – wxkevin

回答

3

如果將其標記爲實體,那麼如果將hibernate.hbm2ddl.auto屬性設置爲update,create-drop或create,hibernate將始終嘗試創建表。要停止這個,在你的配置文件中擺脫這個設置。

正如凱文指出,這些選項應該只在發展階段使用,或者真的很糟糕的事情可能發生在你的prod db。在部署前務必將其刪除。

退房休眠文檔的更多信息

http://docs.jboss.org/hibernate/orm/3.6/reference/en-US/html/session-configuration.html

+0

好的謝謝。我想我要做的是創建一個SQL文件來運行,只需刪除表格並創建視圖即可。 – wxkevin

相關問題