Чем OneToMany отличается от OneToOne в плане реализации в бд и вообще?

175
03 января 2020, 06:20

Изучаю JPA. И изучаю связи. Не могу понять, чем отличаются эти 2 аннотации. Вот как выглядит OneToOne - в одной таблице создается внешний ключ на другую таблицу.

Вот как выглядит OneToMany - создается одна таблица, которая связывает две другие таблицы. Но также можно настроить используя @JoinColumn что бы создавалась не таблица, а внешний ключ. В чем тогда различия? Разве OneToMany должен быть так реализован? OneToMany - это список с сущностями. Т.е. структура данных со структурами данных внутри. Разве он не должен быть реализован как бд с бд?

И еще один вопрос: Допустим, у меня есть E1 и E2. Зачем нужна двунаправленная связь? Чтобы я мог изменять E1 взаимодействуя с E2 и изменять E2 взаимодействуя с E1? Кто нибудь может ответить? хееей

Answer 1

Алексей, чего бы хотелось Вам пожелать, это сосредоточиться на понимании понятия персистности и того, что JPA предоставляет эту персистность. Что касается упомянутых аннотаций, то они являются указаниями для JPA как обеспечить персистность свойств, помеченных ими. Например, когда Вы запросите значение свойства, JPA само (без Вашего участия) определит на основании указанной аннотации какой нужен запрос для получения данных (может быть списка данных) из БД. Если Вы собираетесь самостоятельно, вручную обеспечивать персистность в этой части задачи, то Вы не обязаны использовать эти аннотации.

READ ALSO
Java вывести текст в кавычках

Java вывести текст в кавычках

Как мне вывести текст из строки в кавычках, например:

159
Не могу решить ошибку, в javafx проекте [закрыт]

Не могу решить ошибку, в javafx проекте [закрыт]

Хотите улучшить этот вопрос? Update the question so it's on-topic for Stack Overflow на русском

236
Аудит кода/проекта [закрыт]

Аудит кода/проекта [закрыт]

Хотите улучшить этот вопрос? Переформулируйте вопрос, чтобы он был сосредоточен только на одной проблеме, отредактировав его

199
Как лучше задать метод?

Как лучше задать метод?

В чём разница между v и view? Как лучше?

223