Java “运行”;hibernate.hbm2ddl.auto=validate";在代码中;Hibernate模式验证

Java “运行”;hibernate.hbm2ddl.auto=validate";在代码中;Hibernate模式验证,java,hibernate,validation,Java,Hibernate,Validation,通常我都会 <property name="hibernate.hbm2ddl.auto" value="validate"/> 在persistence.xml中,如果我想检查我的数据库是否与带注释的实体一致(对吗?) 现在,这个验证将在应用程序启动时失败,因为之后会有一些迁移,所以我必须在这里禁用验证。 但是,在迁移之后,我希望运行代码中的任何内容,将数据库表与代码中的注释实体进行比较 验证寻找你不需要的完美。在示例中,java.sql.Date的范围可能与congrete

通常我都会

<property name="hibernate.hbm2ddl.auto" value="validate"/>

在persistence.xml中,如果我想检查我的数据库是否与带注释的实体一致(对吗?)

现在,这个验证将在应用程序启动时失败,因为之后会有一些迁移,所以我必须在这里禁用验证。
但是,在迁移之后,我希望运行代码中的任何内容,将数据库表与代码中的注释实体进行比较

验证寻找你不需要的完美。在示例中,
java.sql.Date
的范围可能与congrete列类型Date的范围不同

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

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