gpt4 book ai didi

java - JPA 注释和 mappedBy

转载 作者:塔克拉玛干 更新时间:2023-11-02 08:09:07 25 4
gpt4 key购买 nike

我正在开发 java 应用程序并使用 JPA 与数据库交互,我有两个重要的问题:

  1. 我想在两个类之间建立双向链接,因为我需要访问双方的数据。让我们以 A * -1 B 的两个类 A 和 B 为例(如 UML 图,A 有唯一的 B,B 有多个 A ..)。

在 A 中:

@ManyToOne
private B attribute;

在 B 中

@OneToMany
private List<A> list;

这足以建立双向链接吗?还是必须使用 mappedBy?

  1. 这让我们想到了我的第二个问题,如果 mappedBy 放置在错误的一侧,它只会影响性能甚至更糟? (数据不持久)?例如,在基数 1-* 的情况下,我们别无选择,mappedBy 应该在 OneToMany 的一侧,在这种情况下:

在 B 中

@OneToMany(mappedBy = "attribute")
private List<A> list;

知道我不会创建类 B,创建一个列表并分配对象,我将在 B 面什么也不做。我将重复创建类 A,每次我为其分配一个 B 对象,所以我可能有几个具有相同受影响对象 B 的类 A,我希望 B 自动更新此链接及其 A 列表。

最佳答案

Is that enough to make the two-way link? or it is mandatory to use the mappedBy?

对于双向关系,它是强制性的。

Which brings us to my second question, if the mappedBy is placed on the wrong side, it'll just impact the performance or even worse ? (data not persisted)?

更糟的是 - 它不会工作,但它不会静默失败,你会看到异常。

说起来简单易懂。它与 @OneToMany 一起使用。

This可能会帮助您更好地理解这一点。

关于java - JPA 注释和 mappedBy,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31373412/

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