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