7

我有一个使用 Hibernate 4.1 和 Spring 3.1.1 的应用程序。我正在使用 Spring 的 HibernateJpaVendorAdapter 并将 generateDdl 设置为 true 来创建实体。

我刚刚创建了一个视图并创建了一个实体来映射到该视图。视图的实体使用@Entity、@Table(name="ViewName") 和@Immutable 进行注释。当我部署 Web 应用程序时,它会自动为所有实体创建表,从而为应该映射到我的视图的实体创建一个表。我必须进入并手动删除该表,然后创建视图。虽然我可以继续这样做,但我想知道是否有办法指定不为该特定“视图”实体创建表。

4

1 回答 1

7

如果将其标记为实体,那么如果 hibernate.hbm2ddl.auto 属性设置为 update、create-drop 或 create,hibernate 将始终尝试创建表。要停止这种情况,请在配置文件中删除此设置。

正如凯文指出的那样,这些选项应该只在开发阶段使用,否则你的产品数据库可能会发生非常糟糕的事情。请务必在部署之前将其删除。

查看休眠文档以获取更多信息

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

于 2013-03-31T05:27:06.750 回答