hibernate.hbm2ddl.auto Hibernate如何决定何时创建或更新ddl?

时间:2012-03-09 15:46:17

标签: hibernate hsqldb

我们在hibernate和hsqldb中自动创建ddl时遇到了一些问题。

我们使用

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

通常,当我们更改映射对象时,hibernate会自动在db上的架构中创建表,但有时它会拒绝这样做。在这种情况下,我们必须从文件系统中手动删除数据库,以说服hibernate重新创建所有表。

有人知道hibernate如何决定何时在db上重新创建数据模型?我已经读过它决定在创建SessionFactory时,但是说服hiberbate更新或创建表的确切条件是什么?

1 个答案:

答案 0 :(得分:5)

在你的hibernate配置文件中,你有这个选项:

<property name="hbm2ddl.auto">update</property>

update更改为create,或create-dropvalidatewhichever you want it to be

或者,如果您的设置正确并且没有按预期执行操作,请检查日志消息,并在需要时将日志级别设置为。