一尘不染

如何验证针对数据库的Hibernate映射

hibernate

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

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

我想至少检查以下几件事:

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

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


阅读 202

收藏
2020-06-20

共1个答案

一尘不染

Hibernate配置文档

hibernate.hbm2ddl.auto

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

例如验证| 更新| 创建| 创建放置

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

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

2020-06-20