修改并验证grails域对象而不保存它

时间:2011-10-12 19:36:19

标签: grails validation domain-object

如何使用GORM .get来检索对象o,修改一些字段,并调用o.validate()来查找错误,而无需Hibernate将对象保存到DB。丢弃本身并不妨碍保存。

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

This帖子建议使用命令对象,但此代码将应用于许多不同的域对象。必须有一个简单的方法(一些参数传递给validate?)给Hibernate不要保存指令。我是否每次都需要创建一个新实例?

1 个答案:

答案 0 :(得分:11)

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