Много ко многим с дополнительным столбцом - как отдельный объект с собственным единичным идентификатором или составным ключом? - PullRequest
0 голосов
/ 13 марта 2020

У меня есть сущность student, а также class. Они в M2M отношениях. Таким образом, будет промежуточная таблица / таблица соединений, например:

CREATE TABLE `student_v_class` (
    `id_student` INTEGER NOT NULL,
    `id_class`   INTEGER NOT NULL,

    PRIMARY KEY (id_student, id_class),
    FOREIGN KEY (id_student) REFERENCES student (id),
    FOREIGN KEY (id_class)   REFERENCES class (id)
);

Теперь я хочу добавить дополнительный столбец, например, qr_code (что угодно). Я мог бы сделать в JPA, как: student (ONE) - (MANY)student_v_class (то же самое для class).

Меня интересует разница в представлении student_v_class как в БД, так и в спящем режиме. Должно ли оно быть больше похоже на «обычную» сущность (с собственным автоматически сгенерированным полем id) или больше похоже на написанное выше («стандартный» способ с составным ключом)?

...