У меня есть ситуация, когда несколько таблиц (TableA и TableB) имеют отношение один к одному с одной и той же таблицей (TableC). Таблица A и Таблица B не связаны. Я разработал таблицы, как показано ниже.
TableA
- key
- something
- c_ref_key
TableB
- key
- something
- c_ref_key
TableC
- key
- something
Когда я генерирую сущность JPA из этой базы данных с помощью обратного инжиниринга спящего режима, она создает отношение «многие к одному» в TableA и TableB для TableC. Обычно для создания отношения один-к-одному первичный ключ TableA должен иметь первичный ключ TableA, но, поскольку у меня есть другие таблицы (TableB), которые также имеют однозначное отношение к TableC, я не могу этого сделать. Следовательно, мне пришлось использовать внешний ключ TableC в TableA и TableB (что привело к взаимосвязи многие-к-одному в JPA).
Есть ли другой способ дизайна, чтобы отношения оставались один на один? или, по крайней мере, в сгенерированных объектах JPA может быть отношение один к одному?