@EntityGraph(value = "Publisher.full", type = EntityGraphType.LOAD) Optional<Publisher> findByName(String name);
@EntityGraph(value = "GameServer.detail", type = EntityGraphType.LOAD) Optional<GameServer> findByAddress(String address);
@EntityGraph(value = "GameServer.detail", type = EntityGraphType.LOAD) Optional<GameServer> findByAddressStartingWith(String address);
@EntityGraph(value = "Repository.statistics", type = EntityGraphType.LOAD) @Override public List<Repository> findAll(Specification<Repository> s, Sort sort);
@EntityGraph(value = "StockProduct.detail", type = EntityGraphType.LOAD) Page<StockProduct> findByIndices(Index index, Pageable pageable);
/** * Finds all status updates for the defined action and target including * {@link ActionStatus#getMessages()}. * * @param pageReq * for page configuration * @param target * to look for * @param actionId * to look for * @return Page with found targets */ @EntityGraph(value = "ActionStatus.withMessages", type = EntityGraphType.LOAD) Page<ActionStatus> getByActionId(Pageable pageReq, Long actionId);
/** * Retrieves an Action with all lazy attributes. * * @param actionId * the ID of the action * @return the found {@link Action} */ @EntityGraph(value = "Action.all", type = EntityGraphType.LOAD) Optional<Action> getById(Long actionId);
/** * Retrieves the oldest {@link Action} that is active and referring to the * given {@link Target}. * * @param sort * order * @param controllerId * the target to find assigned actions * @param active * the action active flag * * @return the found {@link Action} */ @EntityGraph(value = "Action.ds", type = EntityGraphType.LOAD) Optional<Action> findFirstByTargetControllerIdAndActive(final Sort sort, final String controllerId, boolean active);
/** * Retrieves all {@link Action}s of a specific target and given active flag * ordered by action ID. Loads also the lazy * {@link Action#getDistributionSet()} field. * * @param target * to search for * @param active * {@code true} for all actions which are currently active, * {@code false} for inactive * @return a list of actions ordered by action ID */ @EntityGraph(value = "Action.ds", type = EntityGraphType.LOAD) @Query("Select a from JpaAction a where a.target.controllerId = :target and a.active= :active order by a.id") Page<Action> findByActiveAndTarget(Pageable pageable, @Param("target") String target, @Param("active") boolean active);
/** * * Retrieves all {@link Action}s which are active and referring to the given * target Ids and distribution set required migration step. * * @param targetIds * the IDs of targets for the actions * @param notStatus * the status which the actions should not have * @return the found list of {@link Action}s */ @EntityGraph(attributePaths = { "target" }, type = EntityGraphType.LOAD) @Query("SELECT a FROM JpaAction a WHERE a.active = true AND a.distributionSet.requiredMigrationStep = false AND a.target IN ?1 AND a.status != ?2") List<JpaAction> findByActiveAndTargetIdInAndActionStatusNotEqualToAndDistributionSetNotRequiredMigrationStep( Collection<Long> targetIds, Action.Status notStatus);
/** * * Retrieves all {@link Action}s which are active and referring to the given * target Ids and distribution set required migration step. * * @param targetIds * the IDs of targets for the actions * @return the found list of {@link Action}s */ @EntityGraph(attributePaths = { "target" }, type = EntityGraphType.LOAD) @Query("SELECT a FROM JpaAction a WHERE a.active = true AND a.distributionSet.requiredMigrationStep = false AND a.target IN ?1") List<JpaAction> findByActiveAndTargetIdInAndDistributionSetNotRequiredMigrationStep(Collection<Long> targetIds);
/** * Retrieving all actions referring to a given rollout with a specific * action as parent reference and a specific status. * * Finding all actions of a specific rolloutgroup parent relation. * * @param pageable * page parameters * @param rollout * the rollout the actions belong to * @param rolloutGroupParent * the parent rolloutgroup the actions should reference * @param actionStatus * the status the actions have * @return the actions referring a specific rollout and a specific parent * rolloutgroup in a specific status */ @EntityGraph(attributePaths = { "target" }, type = EntityGraphType.LOAD) Page<Action> findByRolloutIdAndRolloutGroupParentIdAndStatus(Pageable pageable, Long rollout, Long rolloutGroupParent, Status actionStatus);
/** * Retrieving all actions referring to the first group of a rollout. * * @param pageable * page parameters * @param rollout * the rollout the actions belong to * @param actionStatus * the status the actions have * @return the actions referring a specific rollout and a specific parent * rolloutgroup in a specific status */ @EntityGraph(attributePaths = { "target" }, type = EntityGraphType.LOAD) Page<Action> findByRolloutIdAndRolloutGroupParentIsNullAndStatus(Pageable pageable, Long rollout, Status actionStatus);