如何验证数据库的Hibernate映射

Juh*_*älä 14 database orm hibernate

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

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

我想至少查看以下内容:

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

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

Boz*_*zho 19

Hibernate配置文档:

hibernate.hbm2ddl.auto

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

例如验证| 更新| 创建| 创建降

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

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

  • 您可以以编程方式执行它.编写一个小程序,创建一个启用了"验证"的SessionFactory. (2认同)