gpt4 book ai didi

hibernate - 记录 JDBC/Hibernate/JPA 事务隔离级别

转载 作者:行者123 更新时间:2023-12-04 22:52:03 24 4
gpt4 key购买 nike

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

谢谢!

最佳答案

您应该将 hibernate 的事务隔离级别设置为 2(READ_COMMITTED 的 java.sql.Connection 常量。

然后在您的 SQL Server 2005 实例(没有事件连接)中执行以下操作:

ALTER DATABASE [database_name] SET ALLOW_SNAPSHOT_ISOLATION ON;
ALTER DATABASE [database_name] SET READ_COMMITTED_SNAPSHOT ON;

通过执行此查询进行测试:

SELECT [名称]、snapshot_isolation_state_desc、snapshot_isolation_state、is_read_committed_snapshot_on
从 sys.databases
WHERE [名称] = 'database_name';

现在 READ_COMMITTED 将被解释为 SQL Server 中的 READ_COMMITTED_SNAPSHOT。

关于hibernate - 记录 JDBC/Hibernate/JPA 事务隔离级别,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3303104/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com