Я создаю сущность 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. Есть предложения?