【问题标题】:grails, relations and cascade deletegrails,关系和级联删除
【发布时间】:2014-01-11 15:02:08
【问题描述】:

我有以下域类:

class Patient {
    ...
}

class Receipt{
@NotNull
static belongsTo = [patient:Patient]
...
}

如果我尝试删除Patient 实例(在创建Receipt 实例之后),我有一个MySQLIntegrityConstraintViolationException。请注意,患者可以有零对多的收据。

【问题讨论】:

  • 不确定是否有帮助,添加一个有很多收据的病人怎么样?
  • 如果我在 Patient 中有一个 hasMany,它可以为空(具有零对多关系)吗?
  • 是的,你不需要操纵它。它应该只是“静态 hasMany = [receipts: Receipt]”
  • 但要为空我需要在域类中为收据添加一个约束,对吧?
  • 您不必做任何事情,参考在收据中。 Patient 中不会添加额外的表格列

标签: database grails relation cascading-deletes


【解决方案1】:

为了完成父子关系,在父域类中创建一个has many section:

class Patient {
static hasMany = [receipts: Receipt]
    ...
}

class Receipt{
@NotNull
static belongsTo = [patient:Patient]
...
}

【讨论】:

    猜你喜欢
    • 2012-02-27
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2017-11-17
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多