【问题标题】:Grails - Hibernate/Validation of Domain object listGrails - 域对象列表的休眠/验证
【发布时间】:2012-03-07 20:07:19
【问题描述】:

使用 Grails,您可以将保存元方法附加到域对象。我有一个要一起保存的对象列表。但是,如果其中一个失败,我希望整个“交易”失败:

while(allDomainObjects) {
   try { 
      thisObject.save()
   }
   catch(...) {
     // end transaction
     // kill all pending that weren't flushed yet?
   }
}

flushAll()?

如果它没有失败,我想基本上保留以“全部刷新”方法保存的所有对象。在同一级别上,如果我已经完成了 allDomainObjects 迭代的一半,我想杀死所有这些挂起的保存,这样所有调用都不会持续存在。

我正在为我的项目使用默认的 Hibernate/SiteMesh 层。如何处理这些多域保存事务??

谢谢!

【问题讨论】:

    标签: hibernate grails dns grails-orm


    【解决方案1】:

    这应该可以帮助你:Grails: how to structure transactions when I want to continue validating even after the transaction has already failed

    在您的情况下,如果您不想继续处理以查找所有错误,您可以在执行过程中检查每个对象,并在遇到错误时返回。

    据我所知,flushAll() 方法不存在。

    【讨论】:

    • 美丽。正是我正在寻找的 - 我做了一个快速测试并将一个无效对象添加到我的域列表中,并且回滚成功。谢谢!
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2019-11-21
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2011-05-25
    • 2012-09-18
    • 1970-01-01
    相关资源
    最近更新 更多