Grails 2.5.x GORM是否可以保留人工属性?
也可以使用Hibernate 4注释/设置。
例如,我希望能够将DomainObjectC持久保存到具有3列(id,do_b_id,do_a_id)的domain_object_c表中,以对do_a_id进行非规范化。
如何使GORM创建并填充domain_object_c.do_a_id列?
class DomainObjectA {}
class DomainObjectB {
DomainObjectA doA
}
class DomainObjectC {
DomainObjectB doB
Long getDoAId() {doB?.doAId}
}
最佳答案
您可以执行以下操作:
class DomainObjectB {
DomainObjectA doA
//To keep in sync the data of DoaminObjectC table
def beforeUpdate(){
if (this.isDirty('doA')){
DomainObjectC.findAllByDoB(this)*.setDob(this).save()
}
}
}
class DomainObjectC {
DomainObjectB doB
Long doAId
public void setDoB(DomainObjectB doB){
this.doB = doB
doAId = doB?.doAId
}
}
关于hibernate - Grails 2.5.x GORM持久的人工特性,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34235282/