gpt4 book ai didi

grails - 如何在 Grails 中指定默认事务隔离级别

转载 作者:行者123 更新时间:2023-12-04 17:25:38 25 4
gpt4 key购买 nike

我无法弄清楚如何在 Grails 应用程序中指定默认事务隔离级别。请帮助并指出我的错误在哪里。以下是详细信息。

chalice :1.3.7

数据库:SQL Server 2008。

数据源.groovy:

dataSource {
...
driverClassName = "net.sourceforge.jtds.jdbc.Driver"
dialect = org.hibernate.dialect.SQLServerDialect
defaultTransactionIsolation = java.sql.Connection.TRANSACTION_READ_UNCOMMITTED
}

hibernate {
...
connection.isolation = java.sql.Connection.TRANSACTION_READ_UNCOMMITTED
}

然后我浏览应用程序并同时执行以下查询:
SELECT session_id, host_name, program_name, login_name, status, transaction_isolation_level
FROM sys.dm_exec_sessions
WHERE host_name IS NOT NULL AND login_name = 'cm'
ORDER BY host_name, program_name

返回:
session_id  host_name   program_name    login_name  status  transaction_isolation_level
61 ANDREYK-WS jTDS cm running 2

2 表示 READ_COMMITTED。我希望看到 1,即 READ_UNCOMMITTED。

如果我明确指定:
@Transactional(isolation=Isolation.READ_UNCOMMITTED)

上面的查询按预期返回 1。
但是,我不想在我的应用程序中归因所有服务。
我错过了什么?

最佳答案

这需要在datasource configuration的properties属性下设置IE。

dataSource {
  ...
  driverClassName = "net.sourceforge.jtds.jdbc.Driver".
  dialect = org.hibernate.dialect.SQLServerDialect
properties {
  defaultTransactionIsolation = java.sql.Connection.TRANSACTION_READ_UNCOMMITTED.
}
}

关于grails - 如何在 Grails 中指定默认事务隔离级别,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10607717/

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