gpt4 book ai didi

java - Spring一对多总是空的

转载 作者:行者123 更新时间:2023-12-02 10:20:23 24 4
gpt4 key购买 nike

我有 2 个实体 AB。两者通过新实体 AB 相关。

public class A {
// other fields
@OneToOne(mappedBy = "a")
private AB ab;
}

public class B {
// other fields
@OneToOne(mappedBy = "b")
private AB ab;
}

public class AB{
// more fields
@ManyToOne
@JoinColumn(name = "a_id")
private A a;

@ManyToOne
@JoinColumn(name = "b_id")
private B b;
}

现在上面的代码可以工作,但是当我尝试直接添加从 AB 的关系时,我的结果始终为空。

public class A {
// other fields
@OneToOne(mappedBy = "a")
private AB ab;

@OneToMany(fetch = FetchType.EAGER, cascade = CascadeType.ALL)
private Set<B> b;
}

最佳答案

问题在于您从一侧使用 @OneToOne 并从另一侧使用 @ManyToOne

你应该在A类和B类中使用@OneToMany。这是非常合乎逻辑的:如果多个AB可以连接到A,那么A类中应该有一个AB的集合。

更改这些注释后,您可以立即看到 A 和 B 之间的关系是 @ManyToMany

关于java - Spring一对多总是空的,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/54385534/

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