我正在开发一个连接到 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 文件中以清楚地查看特定查询正在使用的隔离级别?
谢谢!