JPA中是否有任何功能可以反映不存在的@PreCascadePersist功能

时间:2012-10-23 07:41:38

标签: java jpa

我试图坚持一个对象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是通过级联操作还是独立持久化,都会被调用。

0 个答案:

没有答案