如何为每个类实例设置唯一约束?

时间:2013-07-21 11:53:24

标签: grails gorm grails-2.0 grails-domain-class

假设用户类:

class User {
  String name

  hasMany = [books: Book]

}

和书类:

class Book {

  String name

  belongsTo = [user: User]

}

我希望每个用户的书名都是唯一的。即,user1可以拥有名称为[bookname1,bookname2]的书籍,但他不能拥有两本同名书籍:[bookname1,bookname2]

User2也可以拥有名称为[bookname1,bookname2]但不是两本同名书籍的书籍。

如何限制每个用户的书名是唯一的?

1 个答案:

答案 0 :(得分:2)

阅读文档: http://grails.org/doc/latest/ref/Constraints/unique.html

class Book {

  String name

  belongsTo = [user: User]

  static constraints = {
      name unique: 'user'
  }

}