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

如何使用GORM .get来检索对象o,修改某些字段,并调用o.validate()来查找错误,而无需Hibernate将对象保存到DB.丢弃本身并不妨碍保存.也没有
clazz.withTransaction { status ->
                  row.validate(flush:false)
                  row.discard()
                  status.setRollbackOnly()
                }

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

解决方法

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

相关文章

操作步骤 1、进入elasticsearch的plugin,进入ik。进入config。 2、在config下面建立以.dic为后缀的字典...
lengend data数据中若存在'',则表示换行,用''切割。
代码实现 option = { backgroundColor: '#080b30', tooltip: { trigger: &...
问题原因 原因在于直接在js中取的变量并复制给var变量。 于是就变成这样。 解决办法 var data = &#...
前言 最近做了一个调查问卷导出的功能,需求是将维护的题目,答案,导出成word,参考了几种方案之后,选...
对于很多人来说,用字符编码都是熟能生巧,而不清楚为什么是那样的字符编码,所以我在这列了一个表,翻...