Microsoft SQL Server データベースに接続された Flex/BlazeDS/Spring/JPA/Hibernate Web アプリケーションに取り組んでいます。テーブルをあまりにも積極的にロックしているようです。私の調査によると、スナップショット分離ポリシーを使用するのが最善の策のようです。
私は次のように設定しました:
<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 ファイルに追加できるパッケージとログ レベルは何ですか?
ありがとう!