Ця стаття є дзеркальною статтею машинного перекладу, будь ласка, натисніть тут, щоб перейти до оригінальної статті.

Вид: 19696|Відповідь: 2

[Джерело] Політика генерації первинних ключів NHIBERNATE Native

[Копіювати посилання]
Опубліковано 07.04.2017 10:02:04 | | |

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



Цього разу я зосереджуся на цьому, і є дві нові проблеми,

1。 Яка стратегія гібернації для генерації первинних ключів має кращу продуктивність;

2。 Основні стратегії генерації ключів мають бути ідеальними крос-базами даних.



Всі говорять про продуктивність, оракул використовує послідовність, тому первинний ключ все одно хоче генеруватися таким чином.

Потім є первинний ключ для повернення нових даних


Рідний
Виберіть один із ідентичності, послідовності або гіло відповідно до можливостей базової бази даних;

Тобто генерується первинний ключ, який обирається за допомогою гібернації.


Native і Denity — це обидві стратегії генерації серійних номерів для ідентифікаторів баз даних, Native is Hibernate автоматично вибирається і генерується, Identity — самовибірковий, Identity — MySQL, SQL2000 та інші методи генерації баз даних, а також є послідовність Oracle, а інші методи генерації — загалом, Native автоматично вибирається 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 |
Рідний — це вроджений, рідний, тобто він вроджений.
Це означає, що система генерується автоматично і не потребує ручної допомоги чи контролю.

Призначений означає призначений, призначений.
Якщо ти йому нічого не даєш, він не зможе цього досягти.
Це потрібна праця, зроби щось самостійно
Отже, він призначений
Застереження:
Усе програмне забезпечення, програмні матеріали або статті, опубліковані Code Farmer Network, призначені лише для навчання та досліджень; Вищезазначений контент не повинен використовуватися в комерційних чи незаконних цілях, інакше користувачі несуть усі наслідки. Інформація на цьому сайті надходить з Інтернету, і спори щодо авторських прав не мають до цього сайту. Ви повинні повністю видалити вищезазначений контент зі свого комп'ютера протягом 24 годин після завантаження. Якщо вам подобається програма, будь ласка, підтримуйте справжнє програмне забезпечення, купуйте реєстрацію та отримайте кращі справжні послуги. Якщо є будь-яке порушення, будь ласка, зв'яжіться з нами електронною поштою.

Mail To:help@itsvse.com