【问题标题】:Grails Hibernate persistent set: how to not save automaticallyGrails Hibernate持久集:如何不自动保存
【发布时间】:2016-06-24 14:59:53
【问题描述】:

我有一个有很多学生的领域类教师。

当我使用时

Teacher.students.each{it->
      it.lastupdated=date;
}

学生的属性会自动(并且似乎是立即)持久化到数据库中。

有没有办法防止这种行为并使值在我明确保存之前是暂时的?

【问题讨论】:

    标签: hibernate grails grails-orm


    【解决方案1】:

    只需使用it.discard() 即可避免自动保存。检查 Grails 文档here

    另一种可能不适用于您的 Grails 版本的解决方案是将其添加到您的配置文件中:

    hibernate {
        flush.mode='manual'
    }
    

    【讨论】:

    • 那么手动使用 save() 会保留新值吗?还是会丢弃那些?
    • 根据 Grails 文档,discard() 仅删除自动保存。如果您手动调用save(),那么您的修改将被应用。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2011-01-20
    • 2012-01-14
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多