【问题标题】:How can I set a unique constraint per class instance?如何为每个类实例设置唯一约束?
【发布时间】:2013-07-21 11:53:23
【问题描述】:

假设用户类:

class User {
  String name

  hasMany = [books: Book]

}

和书类:

class Book {

  String name

  belongsTo = [user: User]

}

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

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

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

【问题讨论】:

  • user 被删除时,您是否希望将与user 相关的book 从数据库中删除?

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


【解决方案1】:

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

class Book {

  String name

  belongsTo = [user: User]

  static constraints = {
      name unique: 'user'
  }

}

【讨论】:

  • 我同意你的方法,我最初有这个但很困惑。
猜你喜欢
  • 2016-04-29
  • 1970-01-01
  • 2021-04-10
  • 2013-04-30
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2016-07-12
  • 2017-11-20
相关资源
最近更新 更多