Beispiel #1
0
  @SuppressWarnings("unchecked")
  protected SetJoin<UserEntity, ExtensionFieldValueEntity> createOrGetJoin(
      String alias,
      Root<UserEntity> root,
      SetAttribute<UserEntity, ExtensionFieldValueEntity> attribute) {

    for (Join<UserEntity, ?> currentJoin : root.getJoins()) {
      if (currentJoin.getAlias() == null) {
        // if alias is null, it is not an alias for an extension join, so we ignore it
        continue;
      }

      if (currentJoin.getAlias().equals(alias)) {
        return (SetJoin<UserEntity, ExtensionFieldValueEntity>) currentJoin;
      }
    }

    final SetJoin<UserEntity, ExtensionFieldValueEntity> join = root.join(attribute, JoinType.LEFT);

    join.alias(alias);

    return join;
  }