我找不到任何有关如何在 grails 中通过 executeUpdate() 命令使用悲观锁定的信息。这可能吗?
[更新]根据 Burt 的建议,这是我得到的查询结果。请注意,我使用了已弃用的 UPGRADE 而不是 PESSIMISTIC_WRITE 因为此选项不存在。
def session = sessionFactory.currentSession
def query = session.createQuery("UPDATE SensorProcessed s SET s.batch=:batch WHERE s.device.id=:deviceId AND s.batch.id=:batchId AND s.sensor.id=:sensorId AND s.rollupKey=:rollupKey")
query.setLockMode ("s", LockMode.UPGRADE)
query.setParameter("batch",ignored)
query.setParameter("deviceId",device.id)
query.setParameter("batchId",batch.id)
query.setParameter("sensorId",sensor.id)
query.setParameter("rollupKey",rollupKey)
def updatedRows = query.executeUpdate()
谢谢,
亚伯拉罕。