Java 是";循环参考文件“;在JPA中是反模式吗?

Java 是";循环参考文件“;在JPA中是反模式吗?,java,oop,jpa,Java,Oop,Jpa,比方说 汽车有一个车轮列表,同时车轮也有一个车主的汽车参考 public class Car{ List<Wheel> wheels; } public class Wheel{ Car owner; } 公车{ 列表轮; } 公共级车轮{ 车主; } 我这样问是因为在JPA中很容易像这样操作,而不是再次查询数据库以获取父实体。像这样的双向关系在JPA中是完全有效的。这就是mappedBy属性的全部要点。这篇文章有一个很好的解释: 这当然不是一种反模式 你甚至可能会说这非常方

比方说 汽车有一个车轮列表,同时车轮也有一个车主的汽车参考

public class Car{
List<Wheel> wheels;

}

public class Wheel{
Car owner;
}
公车{
列表轮;
}
公共级车轮{
车主;
}

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

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


这当然不是一种反模式


你甚至可能会说这非常方便,因为用JPA实现它非常容易。两个可能的查询变得非常琐碎;从某辆车上取下所有车轮,然后用某个车轮取下该车。

不,这不是一种反模式,但您应该只在需要时这样做,如果不需要,则不需要这样做,特别是car->wheels关系,因为它很容易导致对数据库的1:N查询。