gpt4 book ai didi

jpa - 单向JPA

转载 作者:行者123 更新时间:2023-12-04 05:11:05 24 4
gpt4 key购买 nike

我有一个数据库(JPA 2 Eclipselink),其中有订单和项目,每个订单可以有多个项目,每个项目只能分配给一个订单。这是单向关系。

订单实体:

@Entity
public class Order implements Serializable {
private static final long serialVersionUID = 1L;
@Id
@GeneratedValue(strategy = GenerationType.AUTO)
private Long id;
}

Item 实体有:
@Entity
public class Item implements Serializable {
private static final long serialVersionUID = 1L;
@Id
@GeneratedValue(strategy = GenerationType.AUTO)
private Long id;
@ManyToOne
Order o;
}

但是如何设置如果从数据库中删除一个订单,所有引用它的项目都将被删除?在单向关系中是否可能,或者我必须创建双向并将@OneToMany(cascade=remove) 放在订单实体类中?或保持单向但拥有方将是订单并从项目实体中删除对订单的任何引用?

最佳答案

您可以使关联双向并添加级联,正如您在问题中建议的那样,或者您明确删除链接到订单的所有项目(使用 JPQL 删除查询,或通过搜索它们然后删除它们),然后删除订单。

在这种情况下,双向关联是有意义的,您可能会在代码的其他几个地方从中受益。

关于jpa - 单向JPA,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14922129/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com