JPA中的“循环引用”是反模式吗?

时间:2012-06-13 01:55:44

标签: java oop jpa

让我们说 汽车有一个车轮列表,同时车轮有车主参考。

public class Car{
List<Wheel> wheels;

}

public class Wheel{
Car owner;
}

我问这个是因为JPA很容易像这样操作而不是再次查询数据库来获取父实体。

2 个答案:

答案 0 :(得分:9)

这样的双向关系在JPA中是完全有效的。这是mappedBy属性的重点。这篇文章有一个很好的解释:

In a bidirectional JPA OneToMany/ManyToOne association, what is meant by "the inverse side of the association"?

答案 1 :(得分:3)

这当然不是反模式。

你甚至可以说这很方便,用JPA实现这个很容易。两个可能的查询变得非常微不足道;从某辆汽车上取下所有车轮并将车开到某个车轮上。