Посоветуйте обходные пути JPA для следующих ситуаций:
[Описание проблемной ситуации]
- Объект задачи может ссылаться на предыдущие задачи (отношения OneToMany и Самостоятельная ссылка)
- Если у предыдущей задачи есть другие предыдущие задачи, то циклическая ссылка. (Это верно? Честно говоря, я точно не знаю)
Итак, я временно определил таблицу как:
CREATE TABLE TASK (
ID INT(5) AUTO_INCREMENT PRIMARY KEY,
TITLE VARCHAR(100) NOT NULL,
COMPLETED BOOLEAN DEFAULT FALSE,
CREATED_DATE TIMESTAMP DEFAULT CURRENT_TIMESTAMP(),
MODIFIED_DATE TIMESTAMP
);
CREATE TABLE TASK_REFS(
SRC_ID INT(5) REFERENCES TASK(ID),
REF_ID INT(5)
);
TASK.ID - TASK_REFS.SRC_ID добавит связь ограничение внешнего ключа, тогда как во избежание циклических ссылок отношение TASK_REFS.SRC_ID--TASK.ID не будет добавлено ограничение внешнего ключа.
И я придумал сценарий добавления одного поля отношения @OneToMany к Задача сущности.
Кажется, здесь есть над чем подумать. В таблице TASK_REFS есть только один смысловой столбец (REF_ID). напротив, для использования @OneToMany необходимо определить класс сущности TaskRef и добавить поле @OneToMany. Это кажется слишком чрезмерным ~
Я думал об использовании @SecondaryTable, но это казалось невозможным в отношениях OneToMany. (Точно, я не знаю?)
Что мне делать? Я не могу найти примерный ответ. Пожалуйста, посоветуйте мне ~
Я хотел бы видеть источник класса сущности JPA, если это возможно. Я был бы очень впечатлен, если бы вы показали мне действующий код, и я был бы вам очень признателен.