![](/img/trans.png)
[英]Eager/Lazy loaded member always empty with JPA one-to-many relationship
[英]Spring one-to-many always empty
我有2个实体A
和B
两者都通过新实体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;
}
现在上面的代码可以工作,但是当我尝试直接从A
添加到B
的关系时,我的结果始终为空。
public class A {
// other fields
@OneToOne(mappedBy = "a")
private AB ab;
@OneToMany(fetch = FetchType.EAGER, cascade = CascadeType.ALL)
private Set<B> b;
}
问题是您从一侧使用@OneToOne
, @ManyToOne
使用@ManyToOne
。
您应该在类A和B中使用@OneToMany
。很有逻辑:如果可以将多个AB连接到A,则在类A中应该有一组AB。
更改这些注释后,您可以立即看到A和B之间的关系为@ManyToMany
。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.