【发布时间】:2013-06-01 01:26:33
【问题描述】:
我有以下Entity类结构
产品类别
@Entity
@Table(name = "PRODUCTS")
public class Product implements Serializable{
@Id
private productSlNo;
@Column(name = "PRODUCT_ID")
private String productNo;
ProductDetail类
@Entity
@Table(name = "PRODUCTDETAILS")
public class ProductDetail extends Product implements Serializable {
@Column(name = "PRODUCT_DESC")
private String productDesc;
由于我在 Product 类中已经有 productNo,因此我没有在 ProductDetail 类中声明它。
我想知道如何在ProductDetail 类中拥有强制性的@Id 注释,因为唯一键是在Product 类中定义的。否则这将导致实体没有定义主键属性错误。
productNo 是 ProductDetail 实体的唯一键
我该如何解决这个问题?任何帮助都是非常值得赞赏的。
更新 1
ProductDetail类
@Entity
@Table(name = "PRODUCTDETAILS")
public class ProductDetail implements Serializable {
@Id
@Column(name = "PRODUCT_ID")
private String productNo;
@Column(name = "PRODUCT_DESC")
private String productDesc;
产品类别
@Entity
@Table(name = "PRODUCTS")
public class Product implements Serializable{
@Id
private productSlNo;
@Id
@Column(name = "PRODUCT_ID")
@OneToOne
@MapsId
private String productNo;
ProductDetail productDetail;
【问题讨论】:
标签: hibernate jpa entity jpa-2.0