0

这可能不完全是一个合适的问题,但为什么我不好奇,我不知道寻找这些答案的正确位置(如果你们都有指向上述位置的链接,请把它们放下!)。

假设我们有实体 A 和 B,其中 A 和 B 具有一对一/一对多的关系(可能很重要,但为了简化它们只是相关的)

我想从实体 A 的实例中检索实体 B。换句话说,retrieveAfromB()。(哪些参数取决于它是一对一还是一对多,但为了简单起见)

我立即想到了这种方法的 3 种方式:

  1. A 中的一个简单 getter 方法,在调用时返回 B(这不应该是这种情况,因为 getter 也应该在会话 bean 中公开)
  2. 在 A 的实体会话 bean 中
  3. 或者最后,在 B 的实体会话 bean 中

在这一点上,我知道我可以将我的问题总结为 2. 还是 3. 更合适,以及实体的会话 bean 中应该包含什么。请赐教,非常感谢!

4

1 回答 1

0

您没有明确说,但按照您的语言,我假设您在谈论 JPA(实体,一对多)。

实体关系可以双向建模。您可以拥有 2 个实体并注释一个,两者都有,甚至根本没有(无论哪种依赖关系)。选择哪种方法完全取决于您的业务案例。从 B 中检索 A 或反过来更有意义吗?

在任何情况下,您都将拥有一个带有 getter 和 setter 的类属性,因为 JPA 依靠它来自动管理实体。关于如何为它们建模,您有一篇来自 Vlad Mihalcea(为 hibernate 做出贡献的 Java Champion)的精彩博客文章,其中介绍了此处的所有关系:

https://vladmihalcea.com/database-table-relationships/

在每个关系部分的末尾都显示了指向另一篇博客文章的链接,该文章解释了对该关系建模的最佳方法是什么。

于 2021-11-06T00:10:18.040 回答