2

以下のように、親クラスと子クラスで同じ JPA コールバック メソッドを定義できますか? はいの場合、super.onPrePersist(); を呼び出す必要がありますか? 子クラスの onPrePersist() メソッドで?

@MappedSuperclass
public abstract class AbstractEntity {

    @PrePersist
    protected onPrePersist() {
        System.out.println("Parent onPrePersist() invoked");
    }
}

@Entity
@Table(name = "child")
public class Child extends AbstractEntity {

    @PrePersist
    protected onPrePersist() {
        **super.onPrePersist();**
        System.out.println("Child onPrePersist() invoked");
    }
}
4

2 に答える 2

6

上記のシナリオの単体テストを作成しましたが、動作します。子クラスのコールバック メソッドごとに、最初に親のコールバック メソッドを呼び出す必要があります。

@Override
@PrePersist
protected onPrePersist() {
    **super.onPrePersist();**
    System.out.println("Child onPrePersist() invoked");
}
于 2013-05-18T09:58:54.220 に答える