Я изменил свой Entity A Id на составной идентификатор. У объекта B также есть класс PK, который имеет одну сторону отношения Entity A. Как мне изменить код класса PK? следует ли использовать IdClass вместо Id?
public class BPK implements Serializable{
// I need to change this single Id to a composite Id to include 2 columns from Entity A instead of only one id attribute
@Id
@Column(name = "aid")
private Integer a;
@Id
@Column(name = "bid")
private Integer b;
}
Класс A PK
public class APK implements Serializable{
@Id
@Column(name = "id")
private Integer id;
@Id
@Column(name = "project_mode")
private Integer project;
}
public class BPK implements Serializable{
private APK a;
private Integer b;
}
Классы первичных ключей в JPA не требуют аннотаций, поскольку они уже отображаются непосредственно в сущности. Производные идентификаторы - это одно место, которое спецификация допускает вложенность в первичные ключи, так как вложенные классы всегда переходят к базовым типам (vs entity).