我有一个A类和B类
public class A{
int f1;
int f2;
int f2;
}
public class B extends A{
}
我的问题是如何忽略映射到 B 的表中的字段,例如“f2”?
最佳答案
假设我对您的帖子所做的编辑获得批准,我将尝试回答。 在下面的代码中,我忽略了类 A 中的字段 f2,即使用 AttributeOverride 的 B 的父类(super class)。
@Entity
@AttributeOverride(name = "f2", column = @Column(name = "f2_col", insertable = false, updatable = false)
public class B extends A{
}
如果您想进一步了解它,请参阅 AttributeOverride .
使用 insertable = false
和 updatable = false
的 AttributeOverride 应该会有所帮助,但这也取决于您的继承策略。它只是帮助使从父类(super class)继承的映射字段成为 transient ,以便其他一些子类可以使用它,但对于这个特定的子类,它将被忽略。
关于java - hibernate 映射 : ignore a super class field,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29894481/