休眠:是否可以通过覆盖吸气剂在Entity子类中添加@Cascade注释?

时间:2019-01-02 19:17:57

标签: java hibernate jpa orm

我试图在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来使其正常工作一直没有成功,并且保存没有级联。我是在做错什么,还是根本不可能通过这种方式添加其他注释?

0 个答案:

没有答案