Ассоциация ManyToMany с одним и тем же объектом JPA (самостоятельное соединение) со вспомогательной таблицей с дополнительными столбцами - PullRequest
0 голосов
/ 20 марта 2020

Я создаю сущность Document, которая указывает на T_DOCUMENT таблицу. Запись документа может иметь отношение ManyToMany с другим Document. Это соотношение поддерживается во вспомогательной таблице T_DOCUMENT_DOCUMENT. Структура таблицы T_DOCUMENT_DOCUMENT ниже

id      |document_batch_id|document_parent_id |document_child_id|document_linker_user_id|creation_time             |modification_time         |
--------------------------|-------------------------------------|-----------------------|--------------------------|--------------------------|
   1    |25               |          500000000|        458000000|              200000002|2020-08-18-12.11.35.026608|2020-08-18-12.11.35.026608|
   2    |25               |          500000000|        458000001|              200000003|2020-08-19-08.27.42.853620|2020-08-19-08.27.42.853620|
   3    |25               |          458000001|        458000002|              200000003|2020-08-19-08.29.49.497022|2020-08-19-08.29.49.497022|
   4    |25               |          500000001|        458000001|              200000003|2020-08-19-08.29.50.030971|2020-08-19-08.29.50.030971|


id= autoincrement primary key of the table 
document_batch_id= foreign key from another `DOCUMENT_BATCH` table 
document_parent_id= foreign key from `Document` 
document_child_id= foreign key from `Document`
document_linker_user_id=foreign key from `DOCUMENT_USER` of the user who created this document link
creation_time= timestamp when record is inserted. Value updated by database trigger
modification_time= timestamp when record is updated. Value updated by database trigger

Важно отметить, что эту ссылку между документами не нужно создавать при вставке нового объекта документа. Позже он может быть связан с пользователем.

Я могу достичь этой функциональности, просто создав другую сущность DoccumentJoinDocument, которая управляет самой таблицей, но мне было интересно, есть ли способ достичь этого только с помощью сущности Document. Есть предложения?

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...