一般不用双向关联:
1、双向关联使数据关系变得负责,难于维护。
2、使数据查询效率变低。例如:学校,学生如果双向关联。在查询学校信息时会带出所有学生信息,查询效率变得比较低。
3、会造成查询结果Json数据死循环。
关联情形:
学校——学生
一般在多的一方去维护关系,关联时在学生一方去维护关系 ,使用@ManyToOne维护关系,需要通过 “多” 方查询 “一” 方时,单独写查询语句或方法。
使用双向关联的情形:
订单(Order)——商品信息(OrderItems) 关系
商品信息(OrderItems)实体中使用orderId外键关联订单(Order)实体,此时需要在商品信息(OrderItems)实体中维护@ManyToOne的关系;但通常是通过订单(Order)来查询商品信息(OrderItems),所以此时需要在订单(Order)实体中维护@OneToMany的关系方便查询。
结论:
一般不要使用双向关联,根据具体的业务维护关联关系。