@Dima_gogi_ya
Начинающий гений-программист

Есть ли необходимость связывать сущности в БД, если я их связываю через spring data jpa в коде?

Пишу некоммерческое приложение для себя. Из себя представляет обычный рабочий журнал.
Есть колонки:
название транспорта, фамилии рабочих, инстанции, фамилия агента, фамилия заказчика.

Вопрос думаю понятен. Стоит ли заморачиваться, и связывать через ключи таблицы в sql или можно это связать в самом коде через аннотации? Какие могут быть последствия такой связи? Какие есть нюансы?

p.s. я новичок, впитываю информацию.
  • Вопрос задан
  • 66 просмотров
Решения вопроса 1
azerphoenix
@azerphoenix Куратор тега Java
Добрый день!
название транспорта, фамилии рабочих, инстанции, фамилия агента, фамилия заказчика.

Скорее всего это должно быть не одной таблицей, а несколькими, так как это разные сущности.
Т.е. Журнал может содержать в себе сущность пользователя (сущности - агент, заказчик). А далее уже используя связи OneToOne OneToMany ManyToOne ManyToMany нужно связать эти сущности между собой.

Стоит ли заморачиваться, и связывать через ключи таблицы в sql или можно это связать в самом коде через аннотации?

Аннотации сделают это за вас. В данном случае вы пишете по принципу code first и соответственно, вся логика создания ddl должна быть в коде.

Какие могут быть последствия такой связи?

Ну например, некорректное выставление каскадных типов.

Какие есть нюансы?

Будет сложно пересказать нюансы с учетом общности вопроса. Прочитайте документацию к Spring Data JPA и станет яснее.
Ответ написан
Пригласить эксперта
Ответы на вопрос 1
@gsaw
Если имеется ввиду, нужны ли констрейнты в базе данных, то нет, необязательно. Они нужны, что бы гарантировать целостность данных в базе данных ну и как средство документирования. Пока программа работает правильно, что они есть, что их нету. В один прекрасный момент ваша программа или сторонняя начнет писать мусор в базу данных, и с констрейнтами вы отловите это очень быстро. Без них начнет все сыпаться, так как JPA ожидает связанный объект а там null.

Если имеется ввиду, нужны ли первичные и сторонние ключи в табличках, то скорее всего да.
Ответ написан
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы