我有一个遗留数据库,其设计我无法改变。我正在尝试使用JPA 2.0(Hibernate)实现DAO层来访问它。然而,由于布局只是......可怕,我遇到了问题。我可以切换到基于Spring-JDBC的解决方案,但我不想放弃原来的想法。
这是我现在正在努力解决的一个问题:
表A:
Id Number SomeProperty
--- -------- ------------
1 100 X
2 200 Y
3 999 Z
...
表B:
Id A1 A2 A3 A4 A5 A6
--- ---- ---- ---- ---- ---- ----
1 100 200
2 200
3 999
4 100 200 999
...
因此每个B最多可以包含6个A,这些A由它们的数字引用。 我想将此布局映射到类似的模型:
@Entity
class A {
String someProperty;
}
@Entity
Class B {
List<A> listOfAs; //
}
当我查询B时,我会用示例数据最终得到4个B实例:
这样做有什么好处的吗?我绝对不想让B级包含 A1 a1,A2 a2,A3 a3等。
你认为在使用像这样的传统数据库时忘记JPA会更好吗? 欢迎任何建议。谢谢!
答案 0 :(得分:1)
我会在这些表之上创建视图来修复数据模型的问题。然后,您可以使用改进的模型从。
构建JPA实体