是否可以将 JPA 注释添加到超类实例变量?
2022-09-01 14:08:30
我正在为两个不同的表创建相同的实体。为了使表映射等对于两个实体有所不同,但只有其余的代码在一个地方 - 一个抽象的超类。最好的办法是能够在超类中注释泛型内容,例如列名(因为列名是相同的),但这不起作用,因为子类不继承JPA注释。下面是一个示例:
public abstract class MyAbstractEntity {
@Column(name="PROPERTY") //This will not be inherited and is therefore useless here
protected String property;
public String getProperty() {
return this.property;
}
//setters, hashCode, equals etc. methods
}
我想继承并仅指定特定于子级的内容,例如注释:
@Entity
@Table(name="MY_ENTITY_TABLE")
public class MyEntity extends MyAbstractEntity {
//This will not work since this field does not override the super class field, thus the setters and getters break.
@Column(name="PROPERTY")
protected String property;
}
有什么想法,或者我是否必须在子类中创建字段,getters和setter?
谢谢,克里斯