JPA中的“循环引用”是反模式吗?
假设汽车有一个车轮列表,同时车轮有一个汽车对所有者的引用。
public class Car{
List<Wheel> wheels;
}
public class Wheel{
Car owner;
}
我之所以问这个问题,是因为在JPA中很容易像这样操作,而不是再次查询数据库以获取父实体。
假设汽车有一个车轮列表,同时车轮有一个汽车对所有者的引用。
public class Car{
List<Wheel> wheels;
}
public class Wheel{
Car owner;
}
我之所以问这个问题,是因为在JPA中很容易像这样操作,而不是再次查询数据库以获取父实体。
像这样的双向关系在JPA中是完全有效和预期的。这就是酒店的全部意义。这篇文章有一个很好的解释:mappedBy
这当然不是一个反模式。
您甚至可以说这非常方便,因为使用JPA实现它非常容易。两个可能的查询变得非常微不足道;从某辆车上获取所有车轮,并将汽车用于某个车轮。