1

我在 Grails 中有这个域类:

class User {
   String name

   Status status
   enum Status {
    ACTIVE(1),
    BLOCKED(2)
   }

 static hasMany = [friends:User]
}

所以用户可以有一个或多个朋友(用户)。

当我做这样的事情时:

User someone = User.get(1)
someone.friends // all friends from this user

但我只想在状态为 ACTIVE 的情况下结交朋友。如何在域类中指定它?

谢谢

4

1 回答 1

0

覆盖getFriends()方法。这当然没有经过测试。

Set<User> getFriends() {

User.executeQuery("Select f from User u join u.friends as f where u = :user and  f.status = :status", [user: this, status: Status.ACTIVE])

}
于 2013-03-30T18:07:58.657 回答