Я работаю над веб-приложением Flex/BlazeDS/Spring/JPA/Hibernate, подключенным к базе данных Microsoft SQL Server. Похоже, что блокировка таблиц слишком агрессивно. Из моих исследований, похоже, использование политики изоляции моментальных снимков - лучший выбор.Регистрация уровней изоляции транзакций JDBC/Hibernate/JPA
Я установил вещи, как, например:
<bean id="entityManagerFactory"
class="org.springframework.orm.jpa.LocalContainerEntityManagerFactoryBean" lazy-init="true">
<property name="persistenceUnitName" value="OrderManagerPersistenceUnit" />
<property name="dataSource" ref="dataSource"/>
<property name="jpaVendorAdapter">
<bean class="org.springframework.orm.jpa.vendor.HibernateJpaVendorAdapter" />
</property>
<property name="jpaProperties">
<props>
<prop key="hibernate.jdbc.batch_size">${db.main.hibernate.jdbc.batch_size}</prop>
<prop key="hibernate.hbm2ddl.auto">${db.main.hbm2ddl.auto}</prop>
<prop key="hibernate.search.default.indexBase">${db.main.search.default.indexBase}</prop>
<prop key="hibernate.search.autoregister_listeners">${db.main.search.autoregister_listeners}</prop>
<prop key="hibernate.show_sql">${db.main.show_sql}</prop>
<prop key="hibernate.dialect">${db.main.dialect}</prop>
<prop key="hibernate.connection.isolation">${db.main.isolation}</prop>
<prop key="hibernate.ejb.naming_strategy">com.herffjones.zebra.db.ZebraNamingStrategy</prop>
</props>
</property>
</bean>
Однако я не уверен, что это на самом деле с помощью hibernate.connection.isolation. Похоже, я должен установить некоторые свойства в источнике данных JDBC.
Я хотел бы проверить, использует ли он в настоящее время 4096 в качестве уровня изоляции транзакций для запросов.
Какие уровни пакетов и журналов можно добавить в файл logback.xml, чтобы четко видеть уровень изоляции, который использует конкретный запрос?
Спасибо!