正确的此模型的休眠标准

时间:2014-03-04 18:21:55

标签: java hibernate jpa criteria hibernate-criteria

我有以下型号:

class TeamEntity {

  private List<UserEntity> users = new ArrayList<UserEntity>();

  private List<TeamAdminPermissionEntity> permissions = new ArrayList<TeamAdminPermissionEntity>();

  ...

}

class UserEntity {

  private List<TeamEntity> teams = new ArrayList<TeamEntity>();

  private List<TeamAdminPermissionEntity> permissions = new ArrayList<TeamAdminPermissionEntity>();

  ...

}

class TeamAdminPermissionEntity() {

  private UserEntity ownerUser;
  private TeamEntity ownerTeam;

  ...

}

因此,TeamEntity可以拥有许多与之关联的权限,其中每个权限都有一个所有者团队和一个所有者用户。 UserEntity也可以拥有许多权限。 TeamEntity可以拥有许多UserEntities,UserEntities可以是许多TeamEntities的一部分。

所以,鉴于我有一个:

  • 某个特定团队的身份

我需要的是:

  • 该特定TeamEntity中的用户实体列表已经拥有该团队的TeamAdminPermission

理想情况下,我想使用CriteriaBuilder,但HQL / SQL也很好。

非常感谢任何帮助!

1 个答案:

答案 0 :(得分:0)

List<UserEntity> results = (List<UserEntity>) session.createCriteria(UserEntity.class).add(Restrictions.eq(TeamAdminPermission, false)