【问题标题】:does it make sense to cascade "up" to owners in belongsTo relationship?在 belongsTo 关系中将“向上”级联到所有者是否有意义?
【发布时间】:2011-04-18 10:50:00
【问题描述】:
  • 我有一个技能类,它有很多角色技能。
  • 我有一个 RoleSkills 类,它属于 Role 和 Skill
  • 我有一个 Role 类,它有很多 RoleSkills

对于角色,我有一个将操作级联到角色技能的映射。问题是,RoleSkills “级联”回 Skill 是否有意义?

我基本上希望 RoleSkill 在创建时创建一个新技能,但是如果 RoleSkill 被删除,请离开 Skill 类(它们基本相同,但是一旦有人制作 RoleSkill,我希望该技能可用供其他人使用)。

在 grails 中,每当我创建一个新角色并为其分配 RoleSkill 时,我都会收到有关 RoleSkill.skill 为空的消息,因此我需要找到一种方法来级联“向上”以创建新技能RoleSkill 制作完成。

【问题讨论】:

  • 或者也许这应该被重写为 groovy 对象的父子关系?

标签: hibernate nhibernate-mapping grails-orm grails


【解决方案1】:

我认为您需要向 RoleSkill 构造函数添加一些逻辑。我不确定这将如何在实践中发挥作用,但理论上您可以尝试以下方法:

class Skill {
   String name
   static hasMany = [roleSkills:RoleSkill]
}

class Role {
   String name
   static hasMany = [roleSkills:RoleSkill]
}

class RoleSkill {
   static belongsTo = [role:Role,skill:Skill] //I don't think this works based on the reference docs.
   public RoleSkill() {
      skill = new Skill() //This can later be changed to an existing Skill.
   }
}

请在尝试此实现时仔细检查reference documentation。希望它能为您指明正确的方向。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2012-05-17
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2011-08-22
    • 1970-01-01
    • 1970-01-01
    • 2011-07-11
    相关资源
    最近更新 更多