java - hibernate 映射 : ignore a super class field

标签 java hibernate orm hibernate-mapping

我有一个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 = falseupdatable = false 的 AttributeOverride 应该会有所帮助,但这也取决于您的继承策略。它只是帮助使从父类(super class)继承的映射字段成为 transient ,以便其他一些子类可以使用它,但对于这个特定的子类,它将被忽略。

关于java - hibernate 映射 : ignore a super class field,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29894481/

相关文章:

java - 将数据写入 StdData 文件中的智能卡

java - Hibernate:使用@SqlResultSetMapping 映射 native 查询的结果集

database - 没有 Linq 时像 Linq 一样查询

java - 在 Hibernate 中设置属性的默认值不起作用

java - 遍历图的顶点作为该顶点的方法

java - Spring Data CrudRepository 应用自动级联类型

java - @JsonInclude(Include.NON_NULL) 不工作/ jackson 序列化空值

c# - linq2db 更新找不到 .Set 方法 MySQL 的定义

java - 使用 Gson 反序列化对象数组

java - 使用 SQL 信息填充架构文档和代码注释 使用 Hibernate 工具?