[英]How to use two foreign keys as primary key on Hibernate entity annotation
[英]Foreign key as primary key annotation
有2个实体
产品展示(产品(PK),这里给..)
商店(产品(PK,FK),product_quantity,...)
我需要@OneToOne,所以我这样做
public class Product{
@Id
@Column(name="PRODUCT_ID")
@OneToOne(mappedBy="product")
private int product_id;
....
}
public class Store{
@Id
@OneToOne(cascade = CascadeType.ALL)
@JoinColumn(name = "PRODUCT_ID")
private Product product;
}
编译器说@OneToOne属性上不允许使用@Column:...... shopdb.entity.Product.product_id
问题是什么?
我刚刚将@OneToOne(mappedBy =“ product”)移至Product中新创建的字段
私人商店;
我不明白它是如何工作的; 为什么我需要使用3个字段而不是2个字段?
您不能将使用@JoinColumn
定义的列标记为@Id
。 这仅适用于使用@Column
批注定义的列。
您尝试做什么也有些奇怪。 您基本上是将两个produc_id
主键,那么为什么不只创建一个呢?
从这里可以看到,我认为Store
应该具有商店ID属性,该属性将用作主键。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.