如何检查Hibernate映射配置是否与数据库匹配?我想知道在开始执行更新和查询之前是否使用了错误版本的hibernate映射,否则将失败。
我有一堆已经用Hibernate注释映射的类。我也有到相应数据库的连接。现在,我想检查Hibernate映射是否与数据库匹配。
我想至少检查以下几件事:
我希望我不必对映射表执行查询,最好是检查仅基于数据库元数据。
从Hibernate配置文档:
hibernate.hbm2ddl.auto
创建SessionFactory时,自动将架构DDL验证或导出到数据库。使用create- drop时,显式关闭SessionFactory时将删除数据库架构。 例如验证| 更新| 创建| 创建放置
创建SessionFactory时,自动将架构DDL验证或导出到数据库。使用create- drop时,显式关闭SessionFactory时将删除数据库架构。
例如验证| 更新| 创建| 创建放置
因此,您可以将其设置为validate,它将验证数据库中是否存在hibernate映射中的所有内容。如果将其设置为update,则每次添加映射的类或属性时,基础数据库模式都会更新以反映该更改。
validate
update
您还有一个命令行工具-SchemaUpdate