最近,当前项目对数据库架构进行了大量更改。这些主要是样式清理,例如确保所有列都遵循一致的命名模式并且是all_in_snake_case。
我相信我们在数据库和实体中都获得了所有列引用,是否可以让JPA,EclipseLink或GlassFish执行某种“验证所有”操作,以确保每个实体列都存在并且匹配??
答案 0 :(得分:0)
我的两分钱:
eclipselink.ddl-generation
自动生成表),然后使用某些数据库工具比较两个数据库模式将取决于你的数据库。也许你的DBA,如果你有,可以帮助)。 答案 1 :(得分:0)
特定于JPA实现。 DataNucleus当然可以验证您的架构是否与实体定义匹配,我确信其他实现可以做类似的事情
答案 2 :(得分:0)
只需编写一个JUnit测试,它将使用java反射获取实体的所有映射属性,然后使用SQL获取表的所有列,并比较它们,重复所有实体或表的操作。
例如,如果您使用oracle作为数据库,请使用以下查询来获取表列:
select column_name
from user_tab_columns
where table_name = 'YOUR_TABLE';