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