Grails Query с двунаправленной ассоциацией hasMany - PullRequest
0 голосов
/ 06 марта 2012

Предположим, у меня есть два класса с именами User и Authority.

Спецификация этих двух классов:

User{
  Integer id;
  String userCode;
  String password;
  boolean active;

  static hasMany = [authorities : Authority, userGroups : UserGroup]

  static mapping = {
        table("security_user")
    }
}


Authority{
    Integer id
    String roleTitle
    String description

    static hasMany = [features : Feature, users : User]

    static belongsTo = User;


}

На уровне запросов, как я могу получить все права доступа, которые являютсясопоставленный с одним конкретным объектом User?

Например, я пробовал следующий подход:

user = User.findByUserCodeAndPassword(userCode,password);
Set<User> users = new HashSet<User>();
users.add(user);

List<Authority> authority = Authority.findAllByUsers(users);

Но приведенный выше код дает исключение Grails времени выполнения.Как я могу решить эту проблему?

1 Ответ

2 голосов
/ 06 марта 2012

Просто используйте user.authorities не нужно делать все эти вещи после получения пользовательского объекта.

...