Как создать класс PK, который имеет отношение к составному идентификатору

1

Я изменил свой 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;
 }
Теги:
many-to-many
jpa
eclipselink

1 ответ

1
Лучший ответ
public class BPK implements Serializable{
    private APK a;
    private Integer b;

}

Классы первичных ключей в JPA не требуют аннотаций, поскольку они уже отображаются непосредственно в сущности. Производные идентификаторы - это одно место, которое спецификация допускает вложенность в первичные ключи, так как вложенные классы всегда переходят к базовым типам (vs entity).

Ещё вопросы

Сообщество Overcoder
Наверх
Меню