我们在hibernate和hsqldb中自动创建ddl时遇到了一些问题.
我们用
<property name="hibernate.hbm2ddl.auto" value="create-drop"/>
Run Code Online (Sandbox Code Playgroud)
通常,当我们更改映射对象时,hibernate会自动在db上的模式中创建表,但有时它会拒绝这样做.在这种情况下,我们必须从文件系统手动删除数据库,以说服hibernate重新创建所有表.
有谁知道hibernate如何决定何时在db上重新创建数据模型?我已经读过,它决定在创建SessionFactory时,但是说服hiberbate更新或创建表的确切条件是什么?
在你的hibernate配置文件中你有这个选项:
<property name="hbm2ddl.auto">update</property>
Run Code Online (Sandbox Code Playgroud)
更改update到create,或者create-drop还是validate,无论你希望它是.
或者,如果您的设置正确并且没有按预期执行操作,请检查日志消息,并在需要时将日志记录级别提高.
| 归档时间: |
|
| 查看次数: |
6716 次 |
| 最近记录: |