gpt4 book ai didi

java - 如何使用 JPA 将各个列映射到集合中

转载 作者:行者123 更新时间:2023-12-01 15:01:09 24 4
gpt4 key购买 nike

我有一个旧数据库,我无法更改其设计。我正在尝试实现一个 DAO 层以使用 JPA 2.0 (Hibernate) 访问它。然而,我遇到了问题,因为布局太糟糕了。我可以切换到基于 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,并通过其编号进行引用。我想将此布局映射到类似以下的模型:

@Entity
class A {
String someProperty;
}

@Entity
Class B {
List<A> listOfAs; //
}

当我查询 B 时,通过示例数据,我最终会得到 4 个 B 实例:

  • 第一个包含 2 个 A 的列表(100 和 200)。
  • 第二个包含 1 个 A 的列表 (200)
  • 第三个包含 1 个 A 的列表 (999)等等..

有什么好的方法吗?我绝对不想让 B 类包含A1 a1、A2 a2、A3 a3 等等。

您认为在使用这样的遗留数据库时忘记 JPA 会更好吗?欢迎任何建议。谢谢!

最佳答案

我将在这些表之上创建 View 来解决数据模型的问题。然后,您可以使用改进的模型来构建您的 JPA 实体。

关于java - 如何使用 JPA 将各个列映射到集合中,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13632654/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com