我试图坚持一个对象A,它有字段b和c,标记为Cascade All。我想要做的是能够在b和c被持久化时运行预定义的方法,因为A被持久化了。
@PrePersist不起作用,因为我希望这个方法只能启动 - 如果b和c通过A上的级联操作持久化。如果b和c被独立持久化,我不希望运行这行代码。
示例:
@Entity
public class A{
@Id;
Long id;
@OneToOne(mappedBy="a",cascade=CascadeType.ALL)
B b;
}
@Entity
public class B{
@Id
Long id;
String field;
boolean isCascaded;
}
所以我想要的是标记B级的每个单独的对象,这些对象是通过A级联而不是独立地拥有该字段
isCascaded
存储为'true'。我不能使用@PrePersist,因为无论B是通过级联操作还是独立持久化,都会被调用。