Grails查询与双向hasMany关联

时间:2012-03-06 06:11:58

标签: java java-ee grails gorm

假设我有两个名为User and 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 个答案:

答案 0 :(得分:2)

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