Postgres и Hibernate: Будет ли hibernate_sequence правильно генерировать уникальные последовательности в производстве? - PullRequest
0 голосов
/ 06 сентября 2018

Приветствия и приветствия, дамы и господа.

Я использую JHipster для создания веб-приложения на Java. Я создал свои объекты, используя язык разметки JDL.

Похоже, что существует hibernate_sequence, который используется для генерации уникальных идентификаторов? Достаточно ли этого для производства?

Эту последовательность гибернации необходимо использовать при вставке данных. Вот пример последовательности вставки гибернации:

INSERT INTO SomeTable VALUES (nextval('hibernate_sequence'), ...,)

Зачем мне это делать? Будет ли это генерировать уникальные идентификаторы для производственной базы данных?

Конечно, я смотрю на таблицы, но мне не нужны какие-либо ошибки, если мне нужно объединить таблицы в какой-то момент в ситуации с хранимой процедурой.

1 Ответ

0 голосов
/ 07 сентября 2018

Во-первых, для каждой таблицы полезно иметь собственную последовательность. Это хорошо, потому что в действительно большой БД на самом деле может быть конфликт по последовательности, плюс вы будете «прожигать» свои порядковые номера больше, поэтому все ваши ключи БД должны быть bigint, если даже в 1 таблице больше, чем несколько миллионов строк (или вы, вероятно, получите слишком большой для целочисленного типа данных)

Что касается уникальности, вы можете использовать одну последовательность без каких-либо других ошибок. Существует небольшая вероятность конфликта последовательностей, но это только в том случае, если вы вставляете синий миллион строк одновременно в несколько таблиц ... и я говорю о большом количестве строк.

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

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