我有一個命令對象,看起來如下...Grails的域對象總是保存
@Validateable
class ACommand implements Serializable
{
ADomainObject bundleDef
}
我用一個表格填寫命令,然後使用類似
def save(ACommand command)
控制器
我還添加以下到我的Config.groovy中
grails.gorm.autoFlush = false
的問題是,即使我不沖水(甚至CAL l .save())它在返回時仍然保存到數據庫中。有沒有人經歷過這個?有沒有辦法解決它?
更新
也試過以下
def save(ACommand command)
{
try{
service.saveADomainObject(command.adomain) //save called in here if no error
}
catch(Exception e3){
log.error(e3);
command.adomain.discard()
}
// renders ...
}
這也不起作用,即使丟棄叫(我設置一個斷點),它仍然保存。
更新2
我改變了我的服務來查找如下
adomain.discard()
throw new InvalidObjectException("Blah Blah Blah")
這似乎保存到數據庫拋出錯誤後直接。我也確認我的服務是交易性的。
更新3
添加我的服務類參考
我嘗試這樣做,它不工作我可以更新我的代碼是否有幫助 – Jackie
如果你顯示控制器的行動,應有助於 –
加入要求提供的信息讓我知道如果你需要更多 – Jackie