在代码中运行“hibernate.hbm2ddl.auto = validate”; Hibernate架构验证

时间:2013-10-12 23:53:05

标签: java hibernate validation

通常我会设置

<property name="hibernate.hbm2ddl.auto" value="validate"/>
如果我想检查我的数据库是否与我的注释实体一致,那么在persistence.xml中是

(我是对的吗?)

现在这个验证在应用程序启动时会失败,因为之后会有一些迁移,所以我必须在这个地方禁用验证。 但是在我的迁移之后,我想从我的代码中运行任何东西,比较我的数据库表符合我的代码的带注释的实体!

1 个答案:

答案 0 :(得分:0)

验证寻找您不需要的完美。例如,java.sql.Date的范围可能与会议列类型日期的范围不同。

无论如何,请在启动和迁移后尝试此操作:

 AnnotationConfiguration conf = new AnnotationConfiguration();
 conf.addClass(...);
 conf.validateSchema(...);