私は次のエンティティクラス構造を持っています
製品クラス
@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;
私はすでにproductNoProduct クラスにあるので、クラスで宣言しませんでしたProductDetail。
一意のキーがクラスで定義されているため、クラスに必須の@Id注釈を付ける方法を知りたいです。そうしないと、The entity has no primary key attribute definedエラーが発生します。
ProductDetail エンティティの一意のキーですProductDetailProductproductNo
どうすればこれを解決できますか? どんな助けも非常に高く評価されます。
更新 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;