如何在hasMany关系中设置唯一约束

时间:2017-03-29 13:16:33

标签: grails groovy many-to-many constraints has-many

我有这堂课:

class Word {
  String word

  static hasMany = [group: WordGroup]
  static belongsTo = [language: Language]    


  static constraints = {
    word(unique: ['language'], maxSize:255)
  }
}

哪种工作正常,但我需要将唯一约束与语言和组相关联,因此不同的组可以插入相同的"单词"。

这些组位于中间表(WordGroup)中,因为这是多对多的关系。

如果我尝试

word(unique: ['language', 'group'], maxSize:255)

我收到错误

Missing IN or OUT parameter in index:: 3

有办法做到这一点吗?

编辑:我正在添加Word类中引用的其他类,如果它有帮助

WordGroup

class WordGroup {
  static belongsTo = [word: Word, group: Group]

  static constraints = {}
}

class Group {
  String name
  String url

  static hasMany = [words: Word]

  static constraints = {
    name blank: false, unique: true
  }
}

语言

class Language {
  String name
  String code

  static constraints = {
    name maxSize:255
    code maxSize:255
  }
}

感谢。

0 个答案:

没有答案