Использование естественного идентификатора бизнес-объекта в качестве первичного ключа - PullRequest
0 голосов
/ 13 апреля 2019

Я хотел бы проверить, рекомендуется ли использовать натуральный идентификатор (20-значный varchar) в качестве первичного ключа таблицы. Я использую Spring-Data-JPA. Будут ли проблемы с производительностью или какие-либо плюсы и минусы при таком подходе

1 Ответ

0 голосов
/ 14 апреля 2019

Тип первичного ключа ваших таблиц зависит от их использования. В основном используется длинный тип данных. Если ваш вариант использования должен иметь естественный первичный ключ для вашей таблицы, который имеет особое значение, например номер социального страхования, используйте его. JPA не заботится о том, является ли это естественным или первичным ключом. Одно отличие от естественных первичных ключей по сравнению с сгенерированными первичными ключами состоит в том, что JPA не должен выполнять запрос для получения следующего значения первичного ключа. Но это вряд ли считается проблемой производительности.

JPA просто создает для вас запросы (вставка / обновление / удаление) и сопоставляет результаты с объектами java.

Может быть, этот документ вам тоже поможет https://en.wikibooks.org/wiki/Java_Persistence/Identity_and_Sequencing

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...