为了开发目的,如何在运行之前将所有表DROPS配置为hibernate?在运行我的代码之前,我不想手动DROP所有表格。
我已经在使用
了<property name="hbm2ddl.auto">create</property>
但是这似乎不起作用,因为我遇到了几个错误,这些错误是由前一次运行中的错误模式引起的。
修改 也许我的问题有点误导。我想要一个干净的数据库。它不仅是因为实际的运行时错误,而且还因为每次运行都有一个干净的数据库。
<property name="hbm2ddl.auto">create-drop</property>
忽略休眠不知道的表(如果你正在使用表名,这种情况可能经常发生)。
答案 0 :(得分:5)
使用值create-drop
代替create
答案 1 :(得分:1)
在开发环境中启动时获得始终干净的数据库的另一种可能性是内存数据库,如H2或类似数据库。有关详细信息,请参阅http://www.h2database.com/html/features.html#in_memory_databases。
答案 2 :(得分:0)
<!-- Drop and re-create the database schema on startup -->
<property name="hbm2ddl.auto">create-drop</property>
答案 3 :(得分:0)