我有一个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]
}
https://stackoverflow.com/questions/6697480/