#spring-boot #spring-data-jpa
#весенняя загрузка #spring-data-jpa
Вопрос:
Я хотел бы проверить, рекомендуется ли использовать естественный идентификатор (20-значный varchar) в качестве первичного ключа таблицы. Я использую spring-data-jpa. Будут ли какие-либо проблемы с производительностью или какие-либо плюсы и минусы при таком подходе
Ответ №1:
Тип первичного ключа ваших таблиц зависит от их использования. В основном используется длинный тип данных. Если ваш вариант использования — иметь естественный первичный ключ для вашей таблицы, который имеет особое значение, например, номер социального страхования, тогда используйте его. JPA не заботится об этом, если это естественный или первичный ключ. Одно из отличий естественных первичных ключей от сгенерированных первичных ключей заключается в том, что JPA не нужно выполнять запрос для получения следующего значения первичного ключа. Но это вряд ли считается проблемой производительности.
JPA просто создает запросы (вставка / обновление / удаление) для вас и сопоставляет результаты с объектами java.
Возможно, этот документ вам тоже поможет https://en.wikibooks.org/wiki/Java_Persistence/Identity_and_Sequencing