我有一个数据库(JPA 2 Eclipselink),其中有订单和条目,每个订单可以有许多项,每个项只能分配给一个订单。这是单向关系。
订单实体:
@Entity
public class Order implements Serializable {
private static final long serialVersionUID = 1L;
@Id
@GeneratedValue(strategy = GenerationType.AUTO)
private Long id;
}项目实体有:
@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)放在Order实体类中?或者保持单向,但拥有方将是订单,并从项目实体中删除对订单的任何引用?
发布于 2013-02-17 14:38:34
要么按照您在问题中的建议,使关联双向并添加级联,要么解释删除与订单链接的所有项目(使用JPQL删除查询,或者搜索它们,然后删除它们),然后删除订单。
在这种情况下,双向关联是有意义的,您可能会从代码中的其他几个地方受益。
https://stackoverflow.com/questions/14922129
复制相似问题