Я пытаюсь определить модель для объекта задачи, который имеет ссылку на предыдущую задачу и ссылку на следующую задачу. Вот как я попытался смоделировать эти отношения в своем классе CompletableTask.java
:
@OneToOne(mappedBy = "previousTask", orphanRemoval = true)
@JoinColumn(name = "next_task_id")
private CompletableTask nextTask;
@OneToOne(mappedBy = "nextTask", orphanRemoval = true)
@JoinColumn(name = "previous_task_id")
private CompletableTask previousTask;
Однако, когда я загружаю свое приложение и позволяю Hibernate создавать необходимые обновления схемы для этого, я получаю следующую ошибку log:
org.hibernate.AnnotationException: Unknown mappedBy in: com.my_package.CompletableTask.nextTask, referenced property unknown: com.my_package.CompletableTask.previousTask
Мне удалось решить эту проблему, просто удалив аргумент mappedBy = "previousTask"
из однозначной аннотации nextTask
, но тогда previous_task_id
не присутствует в таблица, которую генерирует Hibernate, я считаю, что она не соответствует моим предполагаемым целям. И в случае, если невозможно достичь желаемой схемы, которая имеет ссылки как на следующую, так и на предыдущую задачи, каковы мои альтернативы?