0

我想用 GORM 的 where 查询实现悲观锁。

就像是

def query = Person.where {
    firstName == "Bart"
}
//instead of where.findAll()
List personsLocked = where.lockAll()

我知道,我可以通过标准 API 来实现:

List personsLocked = Person.createCriteria().list {
    eq('firstName', 'Bart')
    lock true
}

有没有办法通过“where”查询来实现这一点?

4

1 回答 1

2

lockgrails.gorm.DetachedCriteria(的结果where)中不可用,只能从org.codehaus.groovy.grails.orm.hibernate.query.AbstractHibernateCriteriaBuilder提供createCriteira或通过显式调用lock()实例并因此更改LockModeLockMode.UPGRADE

您始终可以使用扩展点运算符并在获得结果后锁定结果。

于 2014-09-12T15:38:40.160 回答