我们在hibernate和hsqldb中自动创建ddl时遇到了一些问题。
我们使用
<property name="hibernate.hbm2ddl.auto" value="create-drop"/>
通常,当我们更改映射对象时,hibernate会自动在db上的架构中创建表,但有时它会拒绝这样做。在这种情况下,我们必须从文件系统中手动删除数据库,以说服hibernate重新创建所有表。
有人知道hibernate如何决定何时在db上重新创建数据模型?我已经读过它决定在创建SessionFactory时,但是说服hiberbate更新或创建表的确切条件是什么?
答案 0 :(得分:5)
在你的hibernate配置文件中,你有这个选项:
<property name="hbm2ddl.auto">update</property>
将update
更改为create
,或create-drop
或validate
,whichever you want it to be。
或者,如果您的设置正确并且没有按预期执行操作,请检查日志消息,并在需要时将日志级别设置为。