pij*_*cse 4 java hibernate jpa
我在 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;
}
}
Run Code Online (Sandbox Code Playgroud)
我的子类在下面:
@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();
}
}
Run Code Online (Sandbox Code Playgroud)
我试图重写“cartName”列,要添加@Basic上批注。是否有可能或有任何解决方法?TIA
是的,可以将@AttributeOverride注释应用于子类:
@Entity
@Table(name = "CART2")
@AttributeOverride(name = "cartName", column = @Column(name="CART_NAME"))
public class CartEntity extends CartBaseEntity implements Serializable {
...
}
Run Code Online (Sandbox Code Playgroud)
更新:这是 JPA 2.1 规范关于覆盖映射超类中的列的内容:
11.1.4 AttributeOverride 注解
该
AttributeOverride注释被用于重写的映射Basic(明确或默认值)的属性或字段或Id属性或字段。所述
AttributeOverride注释可以应用于延伸映射超或到嵌入式字段或属性覆盖的实体Basic映射或Id通过映射超或嵌入的类(或类嵌入其属性之一的)所定义的映射。
| 归档时间: |
|
| 查看次数: |
5078 次 |
| 最近记录: |