我有以下实体类结构
产品类别
@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;
正如我已经productNo
在 Product 类中一样,我没有在ProductDetail
类中声明它。
我想知道如何在类中使用强制@Id
注释,ProductDetail
因为唯一键是在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;