7

如何使用 GORM .get 检索对象 o、修改某些字段并调用 o.validate() 来查找错误,而无需 Hibernate 将对象保存到数据库。丢弃本身并不会阻止保存。也没有

                clazz.withTransaction { status ->
                  row.validate(flush:false)
                  row.discard()
                  status.setRollbackOnly()
                }

这篇文章建议使用命令对象,但此代码将适用于许多不同的域对象。必须有一种简单的方法(传递给验证的一些参数?)给 Hibernate 不保存指令。我需要每次都创建一个新实例吗?

4

1 回答 1

11

如果您使用read()而不是get()检索对象,则它不会在刷新期间自动保存(例如,在事务或网络请求结束时)。它不是真正的只读,因为您可以调用save()并且它会持续存在 - 它只是在脏时不会自动保存。

于 2011-10-12T20:48:32.350 回答