1

我正在尝试保留一个对象 A,该对象 A 具有标记为 Cascade All 的字段 b 和 c。我想要做的是能够在 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

存储为“真”。我不能使用@PrePersist,因为无论 B 是通过级联操作还是独立地保持不变,它都会被调用。

4

0 回答 0