我有一个合成模式,其中父对象有一个子对象列表,例如Order和LineItem。
它的行为类似于使用删除孤儿级联,但子对象是@Embeddables而不是@Entities,并且没有获得自己的ID - 它们总是通过其父对象进行管理。
在JPA中我可以这样做以确保每当我保存订单时,LineItems的集合会同步,包括删除已删除的项目:
public class Order {
@ElementCollection
@CollectionTable(...)
private Set<LineItem> items;
}
在Grails中,等同于什么?
我可以使用cascade all-delete-orphan执行hasMany,但是如果子对象没有类似的方式没有自己的ID(基本上不是实体),我会更喜欢。