我试图在Hibernate实体的getter中添加@Cascade
注释,该实体是父类@MappedSuperclass
的子类。子类的getter会覆盖已在父类中定义和注释的getter。我的课看起来像这样:
@MappedSuperclass
public abstract class ParentEntity {
private List<OtherEntity> others;
@OneToMany(mappedBy = "other")
public List<OtherEntity> getOthers() {
return this.others;
}
}
@Entity
public class ChildEntity extends ParentEntity {
// Trying to add @Cascade here but it doesn't work
@Cascade({CascadeType.SAVE_UPDATE, CascadeType.PERSIST, CascadeType.MERGE, CascadeType.DETACH})
@Override
public List<OtherEntity> getOthers() {
return super.getOthers();
}
}
@Entity
public class OtherEntity extends OtherParentEntity {
// Other stuff
}
我对基类没有任何控制,因此无法对其进行修改。如果我将@Cascade
批注放在基类getter上,它将按预期方式工作,但是到目前为止,通过将其添加到子类getter来使其正常工作一直没有成功,并且保存没有级联。我是在做错什么,还是根本不可能通过这种方式添加其他注释?