我在 Maven 项目的持久层中使用休眠,对此我真的很陌生。有时,当通过 jpa/hibernate 从数据库执行读取操作时,一些表会被删除。该项目没有实现那种功能。这是一个已知的问题?这些动作只是读取动作。
问问题
2793 次
2 回答
1
现在我终于找到了答案。似乎集成测试中的某些配置使它们针对错误的数据库(删除表的数据库)运行,而不是我们想要使用的 im-db。并且集成测试应该进行删除,但随后无法创建新表。所以这个问题的答案是松散耦合到问题,而不是我们不正确的配置。但也许这个答案会让其他有同样问题的人三思而后行。
于 2012-11-12T14:52:49.540 回答
0
我也是 hibernate 的新手,但我记得在 hibernate.xml 或 persistence.xml 中有一个设置,您可以在其中指定供应商删除并在每次运行该应用程序时生成模式和表。
以下属性将在应用程序启动时创建表,并且当您下次运行应用程序时,它不会重新生成已存在的表。
<property name="hbm2ddl.auto" value="create"/>
其中“create-drop”的值将创建表并在会话结束时删除。
<property name="hbm2ddl.auto" value="create-drop"/>
看看这个文档Jboss 参考
希望能帮助到你。
于 2012-09-06T01:12:26.903 回答