假设我有两个名为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异常。我该如何解决这个问题?

最佳答案

只需使用user.authorities,无需在获取用户对象后执行所有这些操作。

07-27 13:49