1

我有一个事务控制器,里面有两个操作,编辑和更新。更新操作有一个命令对象参数。如果我在更新操作中调用 transactionStatus.setRollbackOnly(),我会得到 transactionStatus 的 MissingPropertyException。当我有 action 参数时,transactionStatus 不会被注入。同一控制器中的编辑操作(没有任何参数)可以访问 transactionStatus 属性。如果我从有问题的操作中删除参数,则 transactionStatus 变得可用。我想保留参数并在出现错误时能够回滚。
我使用 grailsVersion=3.2.7。这是我的控制器的外观:

import com.sample.MyCommand
import grails.transaction.Transactional

@Transactional  
class MyController {
    def edit() {
        //transactionStatus is available here
    }

    def update(MyCommand command) {
        //transactionStatus.setRollbackOnly() causes
        //groovy.lang.MissingPropertyException: No such property: transactionStatus for class: com.sample.MyController
    }
}

PS我想用“grails-transactional”标记问题,但它尚未创建。

4

0 回答 0