2015-05-20 4 views
1

Если Hibernate используется как инструмент ORM и DB2 как база данных в Hibernate, мы можем определить уровни изоляции, а DB2 имеет свои уровни изоляции. В чем преимущество, которое мы получаем, определяя уровни изоляции в спящем режиме и используя уровни изоляции базы данных?Уровни изоляции Hibernate и уровни изоляции базы данных

ответ

1

Спящий режим действует как уровень абстракции через базы данных; было бы предпочтительнее использовать уровень изоляции Hibernate, если вы хотите указать одинаковые уровни изоляции для нескольких поддерживаемых баз данных (в той степени, в которой базы данных поддерживают этот уровень изоляции, например, Oracle не будет реализовывать незафиксированные чтения).

Hibernate может указывать уровень изоляции для отдельных запросов, добавляя предложение WITH. Это будет иметь приоритет над значением по умолчанию для DB2 по уровню изоляции. Таким образом, вы можете выбрать уровень изоляции для базы данных, а затем разрешить настройку уровня для отдельных запросов, сгенерированных Hibernate.

1

Это то же самое. Hibernate устанавливает уровень изоляции для подключений JDBC, которые он использует для подключения к DB2, поэтому DB2 использует этот уровень изоляции для этих соединений.

Таким образом, уровень изоляции транзакций обрабатывается базой данных.

+0

Спасибо. Тогда в чем преимущество, которое мы получаем при определении в Hibernate, мы можем оставить так, чтобы он обрабатывался на уровне БД. Есть ли какой-нибудь сценарий, где было бы лучше определить его в спящем режиме? – Vaishu13

+0

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

+0

Если уровень изоляции, определенный в спящем режиме, отличается от того, что определено в базе данных, то какой из них имеет приоритет. – Vaishu13

Смежные вопросы