我可以在父类和子类中定义如下的JPA回调方法吗?如果是,我是否需要调用super.onPrePersist();在子类中的onPrePersist()方法?@MappedSuperclass和子类中的相同JPA回调方法
@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");
}
}
当你测试它,会发生什么? JPA实体是Java对象,并遵守相同的规则。如果你重写一个方法,重写的方法将被调用。 –