如何验证数据库的Hibernate映射

时间:2010-01-22 10:36:24

标签: database hibernate orm

如何检查Hibernate映射配置是否与数据库匹配?在开始执行更新和查询之前,我想知道我是否使用了错误版本的hibernate映射,然后会失败。

我有许多已经使用Hibernate注释映射的类。我也有相应的数据库连接。现在我想检查Hibernate映射是否与数据库匹配。

我想检查至少以下内容:

  • Hibernate配置中的所有映射表都在数据库中具有相应的对象(例如表或视图)
  • 数据库中存在所有映射的字段
  • 所有已映射的字段都具有正确的类型

我更喜欢我不必对映射表执行查询,最好是检查仅基于数据库元数据。

1 个答案:

答案 0 :(得分:17)

来自Hibernate configuration docs

hibernate.hbm2ddl.auto

  

创建SessionFactory时,自动验证或将架构DDL导出到数据库。使用create-drop,当SessionFactory显式关闭时,将删除数据库模式。

     

e.g。验证|更新|创建| create-drop

因此,您可以将其设置为validate,它将验证您的hibernate映射中的所有内容是否都存在于数据库中。如果将其设置为update,则每次添加映射的类或属性时,都将更新基础数据库模式以反映该更改。

您还有一个命令行工具 - SchemaUpdate