grails - 我可以确定何时添加域类吗?

标签 grails gorm grails-2.0

如果我有2个(或更多)具有hasMany的C的域类,如何确定是否已添加C的实体?

class A {
    String name
    static hasMany = [cs: C]
class B {
    String name
    static hasMany = [cs: C]
}
class C {
    String someProperty
}

// In CController add Action
//...
genericInstance.addToCs(cInstance)

我正在寻找更多我可以处理的事件。 CController用于AB的内联表单,但是我需要两个不同的进程来运行,具体取决于要添加到哪个域C

最佳答案

您可以在类addToCsA中编写自己的B方法/ Closure。

class A {
    String name
    static hasMany = [cs: C]
    def addToCs = {
        // Do what you want with your value
        cs.add(C)
    }
}

注意默认addToCs中会发生什么:
DomainClassGrailsPlugin.groovy:289 @github

关于grails - 我可以确定何时添加域类吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14201974/

相关文章:

grails - formRemote()和SubmitToRemote()标签之间的区别

grails - 在Grails中索引 “has many”属性

hibernate - 使用 “in”查询进行GORM的where闭包将在生成的SQL中删除where子句

用于一对多的 Grails 多选

grails - 在自定义的Grails环境中,如何在不重新启动的情况下将代码更改为自动更新

mysql - 第一个查询的 Grails/Mysql 问题

grails - 在学习 grails 之前,我必须先了解 groovy 吗?

grails - Grails域类的静态属性hasOne,hasMany和belongsTo

grails - 映射遗留表和多个 hasMany 关联

sql - Grails仪表板说我没有服务