Database 如何根据数据库验证Hibernate映射
如何检查Hibernate映射配置是否与数据库匹配?在我开始执行更新和查询之前,我想知道我是否使用了错误版本的hibernate映射,这样就会失败 我有很多类已经用Hibernate注释进行了映射。我也有相应的数据库连接。现在我想检查Hibernate映射是否与数据库匹配 我想至少检查以下内容:Database 如何根据数据库验证Hibernate映射,database,hibernate,orm,Database,Hibernate,Orm,如何检查Hibernate映射配置是否与数据库匹配?在我开始执行更新和查询之前,我想知道我是否使用了错误版本的hibernate映射,这样就会失败 我有很多类已经用Hibernate注释进行了映射。我也有相应的数据库连接。现在我想检查Hibernate映射是否与数据库匹配 我想至少检查以下内容: Hibernate配置中的所有映射表在数据库中都有相应的对象(例如表或视图) 数据库中存在所有映射字段 所有映射字段的类型都正确 我希望我不必执行对映射表的查询,最好检查仅基于数据库元数据。来自:
- Hibernate配置中的所有映射表在数据库中都有相应的对象(例如表或视图)
- 数据库中存在所有映射字段
- 所有映射字段的类型都正确
hibernate.hbm2ddl.auto
创建SessionFactory时自动验证架构DDL或将其导出到数据库。使用createdrop,当SessionFactory显式关闭时,数据库模式将被删除
e、 g.验证|更新|创建|创建删除
因此,您可以将其设置为validate
,它将验证数据库中是否存在hibernate映射中的所有内容。如果将其设置为update
,则每次添加映射的类或属性时,都会更新基础db架构以反映该更改
您还有一个命令行工具-我正在寻找的类似工具。但API中是否有我可以通过编程执行的东西?您可以通过编程执行它。编写一个小程序,在打开“验证”的情况下创建SessionFactory。是的,有一个命令行工具-我将它添加到了我的答案中。或者最好按照达菲莫的建议去做。