如何在插入子实体时覆盖子实体扩展父项中的父@MappedSuperclass @column属性

时间:2017-04-03 16:24:48

标签: entity eclipselink jpa-2.0 mappedsuperclass

我有两个班A& B,B扩展A和A是@MappedSuperclass,因为它被其他实体扩展为一些公共字段。

A类

@MappedSuperclass
public class A implements Serializable { 

@Column(name="TYPE_ID")
private String type;

@Column(name="FEATURE_CODE")
private String featureCode;

}

B类

public class B extends A implements Serializable { 

@Column(name="ID")
private String id;

@Column(name="GROUP")
private String group;

}

现在的问题是,当我试图坚持B类时,它将 TYPE_ID FEATURE_CODE 纳入INSERT查询和目标数据库表表B < / strong>没有列 FEATURE_CODE 会导致异常。

在持久化子实体B的同时,有没有人能指出我如何忽略FEATURE_CODE字段? 谢谢!

1 个答案:

答案 0 :(得分:0)

@MappedSuperclass需要一个构造函数及其get和set。和你的班级,B,..

必须在数据库中包含A列,如果使用hibernate进行,则应自动创建它们,但如果手动执行,则必须在B表中创建A的列