Grails Groovy删除旧记录

拉杰夫

在下面的代码中,我如何删除与作者相关的所有旧商店记录,然后插入一个新记录

域类

 class Store {
Date dateCreated
Date lastUpdated

static belongsTo = [author: Author]
    static constraints = {
     }
  }

域控制器

 def update() {
    if (!requestIsJson()) {
        respondNotAcceptable()
        return
    }

    def bookInstance = book.get(params.id)
    if (!bookInstance) {
        respondNotFound params.id
        return
    }

    if (params.version != null) {
        if (bookInstance.version > params.long('version')) {
            respondConflict(bookInstance)
            return
        }
    }

    def stores = bookInstance.stores

    //bookInstance.delete(flush:true);
    //stores.delete(flush:true);



    bookInstance.properties = request.GSON

    if (bookInstance.save(flush: true)) {
        respondUpdated bookInstance

    } else {
        respondUnprocessableEntity bookInstance
    }
}
石头

我假设您已经检索了Author要修改实例。在这种情况下,您可以简单地遍历与作者关联的存储,然后将它们逐一删除。您是要在每次删除后刷新还是要等到全部删除后刷新,这取决于您。

假设您有一个Author类似于以下内容类:

class Author {
    static hasMany = [stores: Store]
}

然后,您可以将方法添加到您的控制器中:

class MyController {
    SessionFactory sessionFactory

    def deleteStoresFromAuthor(Author author) {
        author.stores.each { it.delete(flush: true) }
    }

    def deleteStoresFromAuthorWithDelayedFlush(Author author) {
        author.stores.each { it.delete() }
        sessionFactory.currentSession.flush()
    }

    def createStoreForAuthor(Author author) {
        new Store(author: author, dateCreated: new Date(), lastUpdated: new Date()).
                save(flush: true)
    }
}

另一种选择是将这些方法添加到域类中,这可能是更可取的,尤其是如果您在应用程序中需要多个位置的情况下。

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

Groovy / Grails多对多删除关系

来自分类Dev

Groovy / Grails多对多删除关系

来自分类Dev

Groovy Grails或Scala播放

来自分类Dev

Grails编译但Groovy失败

来自分类Dev

Groovy Grails或Scala播放

来自分类Dev

Grails hasMany删除行为

来自分类Dev

grails删除不持久

来自分类Dev

Grails导入groovy HTTP Builder

来自分类Dev

从src / groovy访问Grails服务

来自分类Dev

Grails导入groovy HTTP Builder

来自分类Dev

从src / groovy访问Grails服务

来自分类Dev

Grails 2.4.4中的调试。IDE Groovy / Grails工具套件

来自分类Dev

grails,关系和级联删除

来自分类Dev

Groovy Slf4j批注似乎干扰了Grails内置日志记录

来自分类Dev

Grails / Groovy URL .getText接收状态

来自分类Dev

将Java类注入Grails Groovy服务

来自分类Dev

了解Groovy / Grails类加载器泄漏

来自分类Dev

Groovy Grails工具套件(GGTS)Maven插件

来自分类Dev

Grails / Groovy编译器错误之谜

来自分类Dev

性能问题碧玉报告和grails / groovy

来自分类Dev

Groovy/Grails many-to-many delete relation

来自分类Dev

Grails Maven插件需要Groovy 2.4.2

来自分类Dev

Groovy / grails:将参数传递给线程

来自分类Dev

调用Groovy父类方法-Grails

来自分类Dev

Groovy GSP Grails数字格式替换

来自分类Dev

Groovy Grails工具套件(GGTS)Maven插件

来自分类Dev

Grails:BootStrap.groovy类的编码

来自分类Dev

Groovy / grails:将参数传递给线程

来自分类Dev

Grails / Groovy字符串错误