【问题标题】:Execute Select HQL with no locks?在没有锁的情况下执行 Select HQL?
【发布时间】:2014-05-01 13:58:12
【问题描述】:

我有以下 hql 查询。我想在不锁定表部门、员工的情况下进行选择,以便其他查询并发检索记录 即使下面的查询正在运行/执行,也可以从这些表中获取

from Department dept inner join fetch dept.employees  emp where dept.Id = :DeptId

我在下面尝试过,但仍然获得锁

from Department dept nolock inner join fetch dept.employees  emp nolock where dept.Id = :DeptId

【问题讨论】:

  • @a_horse_with_no_name 我正在使用 sql server。据我了解,select 将在语句执行期间创建锁,而不是整个事务

标签: java sql-server hibernate hql


【解决方案1】:
from Department dept WITH(nolock) inner join fetch dept.employees  emp  where dept.Id = :DeptId

试试这个。 注意附加到 FROM 子句的 WITH(nolock)。

【讨论】:

    猜你喜欢
    • 2014-07-30
    • 1970-01-01
    • 2020-06-28
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2013-10-28
    相关资源
    最近更新 更多