Эта статья является зеркальной статьёй машинного перевода, пожалуйста, нажмите здесь, чтобы перейти к оригиналу.

Вид: 19696|Ответ: 2

[Источник] Политика генерации первичных ключей NHIBERNATE

[Скопировать ссылку]
Опубликовано 07.04.2017 10:02:04 | | |

В прошлый раз, когда я создавал базу данных Oracle для системы, стратегия гибернации для генерации первичного ключа была SEQUENCE, и тогда я чувствовал себя очень уставшим, потому что не понимаю почему, oracle+sequence+trigger не может получить значение первичного ключа при добавлении новых данных.



На этот раз я сосредоточусь на этом, и есть две новые проблемы,

1。 Какая стратегия гибернирования генерации первичных ключей обеспечивает лучшую производительность;

2。 Стратегии генерации ключевых ключей должны быть в идеале между базами данных.



Все говорят о производительности, оракул использует последовательность, поэтому первичный ключ всё равно хочет генерироваться таким образом.

Затем есть первичный ключ для возврата новых данных


Родной
Выберите одинаковую идентичность, последовательность или хило в соответствии с возможностями базовой базы данных;

То есть генерируется первичный ключ, который выбирается гибернацией.


Native и Denity — это стратегии генерации серийных номеров ID базы данных, Native is Hibernate выбирается и генерируется автоматически, Identity выбирается самостоятельно, Identity — MySQL, SQL2000 и другие методы генерации баз данных, а также есть последовательность Oracle, а другие методы генерации обычно автоматически выбираются Hibernate

Для баз данных, поддерживающих внутренние поля идентичности (DB2, MySQL, Sybase и MS SQL), можно использовать идентичность off
Генерация ключевых слов. Для баз данных, поддерживающих внутренние последовательности (DB2, Oracle, PostgreSQL, Interbase, McKoi и SAP).
DB), вы можете использовать генерацию ключевых слов в последовательности. Оба подхода требуют двух раз для вставки нового объекта
SQL-запросы.



Я проверил больше информации в интернете, не знаю, где я её видел, эта стратегия генерации первичных ключей, если это mysql, он выберет auto_increment способ генерации первичного ключа; Если это Oracle, он выберет метод последовательности; Просто при использовании базы данных Oracle нужно создать hibernate_sequence, который зарезервирован Hibernate и сообщает об ошибке, если вы не собираете (не тестируете).




Предыдущий:Краткое изложение порядка выполнения статических, нестатических и конструктивных методов в классе
Следующий:Обработка различия между одновременной меткой времени и параллелизмом
 Хозяин| Опубликовано 07.04.2017 10:02:07 |
Native — это врождённый, native (native intient), то есть он врождённый.
Это значит, что система генерируется автоматически и не требует ручной помощи или управления.

Назначенный означает назначенный, назначенный.
Если ты не дашь ему что-то, он не сможет этого добиться.
Это требует труда, сделай что-то самостоятельное
Значит, он назначен
Отказ:
Всё программное обеспечение, программные материалы или статьи, публикуемые Code Farmer Network, предназначены исключительно для учебных и исследовательских целей; Вышеуказанный контент не должен использоваться в коммерческих или незаконных целях, иначе пользователи несут все последствия. Информация на этом сайте взята из Интернета, и споры по авторским правам не имеют отношения к этому сайту. Вы должны полностью удалить вышеуказанный контент с компьютера в течение 24 часов после загрузки. Если вам нравится программа, пожалуйста, поддержите подлинное программное обеспечение, купите регистрацию и получите лучшие подлинные услуги. Если есть нарушение, пожалуйста, свяжитесь с нами по электронной почте.

Mail To:help@itsvse.com