我有一个Brand实体的模型Map:
@Entity
public class Brand implements Serializable {
private static final long serialVersionUID = 1L;
@EmbeddedId
private BrandPk id;
//...
}
复合键是:
@Embeddable
public class BrandPk implements Serializable {
private static final long serialVersionUID = 1L;
private int id1;
private int id2;
//...
}
现在我想加入一个Product实体(一个品牌,多个产品):
我要:
@Entity
public class Product implements Serializable {
private static final long serialVersionUID = 1L;
@Id
@GeneratedValue(strategy=GenerationType.AUTO)
private int id;
@ManyToOne
// ???
private Brand brand;
//...
}
我需要什么来正确地连接我的表实体?
- table_brands* 有两个字段组成的PK:id 1和id 2 table_products 有一个带id的PK,还有一个字段id_brand,正好对应于id 1。
id 2不再使用,也不再重要!
这个Map是针对一个遗留数据库的,不幸的是我不能更改它,所以我需要连接“ignoring”id 2。我怎么能?
2条答案
按热度按时间wpcxdonn1#
如果你添加另一个列,比如id_brand2引用id2,你可以这样做:
xfb7svmp2#
由于JDK 8不再需要
@JoinColumns
Package 器,可以像这样: