grails - 与Grails的零对多关系?

我有一个tRNA类,它可能有也可能没有相关的grRNA,但将与cRNA相关。

所以我可以有这种关系:
tRNA-> grRNA-> cRNA

或这种关系(在这种情况下,我们没有grRNA数据):
tRNA-> cRNA

通过Grails / Gorm实现这种关系(有时可能没有grRNA)的最佳方法是什么?
最佳 Realm 类设计?

最佳答案

您可能让grRNA和cRNA成为亲本的子类,而tRNA与亲本有关联,而grRN与cRNA关联。

在数据库表中,您需要一个class列来定义类(GORM对象中的discriminator)。

编辑:
就像是:

class GenericRna {
    //Properties
    //Assuming this is mapped to a database table as well, you'd need:
    static mapping = {
        table 'generic_rna'
        discriminator column: 'class'
    }
}

class CRna extends GenericRna {
    //Properties
    discriminator value: 'CRna'
}

class GrRna extends GenericRna {
    //Properties
    static hasMany = [cRnas: CRna]
    discriminator value: 'GrRna'
}

class TRna {
    static hasMany = [genericRnas: GenericRna]
}

从技术上讲,我认为如果使用“class”作为区分符列名称,并使用class名称作为值,则不需要“discriminator”行。

https://stackoverflow.com/questions/6697480/

相关文章:

javascript - 使用Node.js从客户端向服务器发送json请求

grails - 部署捆绑软件并从Spring EBR获得依赖捆绑软件

json - Grails模型和子模型的JSON响应(一对多)

list - 如何在Grails中过滤列表以仅显示特定用户的 'belongsTo'?

hibernate - Grails中的事务提交事件处理程序

grails - 如果URL不包含额外路径,如何显示身份验证页面?

grails - Grails:withFormat在 Action 方法中间

grails - Grails安全过滤器和/index.gsp

regex - 常规正则表达式测试失败

grails - 带有枚举的Grails JSON单元格