我在 SuperClass 中定义了我的属性,并且我想在 SuperClass 属性之一上再应用一个注释。
@MappedSuperclass
public class CartBaseEntity {
private String cartName;
@Column(name = "cart_name")
public String getCartName() {
return cartName;
}
public void setCartName(String cartName) {
this.cartName = cartName;
}
}
我的子类在下面:
@Entity
@Table(name = "CART2")
public class CartEntity extends CartBaseEntity implements Serializable {
private Set<Items> items;
@Basic(fetch = FetchType.LAZY)
@Override
public String getCartName() {
return super.getCartName();
}
}
我试图覆盖“cartName”列并想在其上添加 @Basic 注释。是否有可能或有任何解决方法? TIA
最佳答案
是的,可以将 @AttributeOverride
注释应用于子类:
@Entity
@Table(name = "CART2")
@AttributeOverride(name = "cartName", column = @Column(name="CART_NAME"))
public class CartEntity extends CartBaseEntity implements Serializable {
...
}
更新:这是 JPA 2.1 规范关于覆盖映射父类(super class)中的列的内容:
关于java - SuperClass 属性上的 JPA 覆盖注释,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/47332021/