标签: grails gorm
保存更改后的用户名(使用flush:true)后,以下表达式的计算结果为false:
flush:true
User.get(u.getId()).name == u.refresh().name
左侧拾取更改后的用户名,右侧返回“旧”值。
想法?刷新下一个HTTP请求中的“u”引用似乎有效。
答案 0 :(得分:7)
这是在交易中完成的吗?如果您的代码在事务中执行,那么即使使用flush: true也不会立即将更改保留在数据库中。只有在事务结束时才会刷新对事务中所做的域对象的更改。
flush: true