@Override public QueryHints withFetchGraphs(EntityManager em) { return new DefaultQueryHints(this.information, this.metadata, Optional.of(em)); }
@Override public Iterator<Entry<String, Object>> iterator() { return asMap().entrySet().iterator(); }
@Override public Map<String, Object> asMap() { Map<String, Object> hints = new HashMap<>(); hints.putAll(metadata.getQueryHints()); hints.putAll(getFetchGraphs()); return hints; }
/** * Returns {@link QueryHints} with the query hints based on the current {@link CrudMethodMetadata} and potential * {@link EntityGraph} information. * * @return */ protected QueryHints getQueryHints() { return metadata == null ? NoHints.INSTANCE : DefaultQueryHints.of(entityInformation, metadata); }
private Map<String, Object> getFetchGraphs() { return Optionals .mapIfAllPresent(entityManager, metadata.getEntityGraph(), (em, graph) -> Jpa21Utils.tryGetFetchGraphHints(em, getEntityGraph(graph), information.getJavaType())) .orElse(Collections.emptyMap()); }
/** * Returns {@link QueryHints} with the query hints based on the current {@link CrudMethodMetadata} and potential * {@link EntityGraph} information. * * @return */ private QueryHints getQueryHints() { return metadata == null ? QueryHints.NoHints.INSTANCE : DefaultQueryHints.of(entityInformation, metadata); }
private Map<String, Object> getFetchGraphs() { return Optionals .mapIfAllPresent(entityManager, metadata.getEntityGraph(), (em, graph) -> Jpa21Utils.tryGetFetchGraphHints(em, getEntityGraph(graph), information.getJavaType())) .orElse(Collections.emptyMap()); }
/** * Returns {@link QueryHints} with the query hints based on the current {@link CrudMethodMetadata} and potential * {@link EntityGraph} information. * * @return */ private QueryHints getQueryHints() { return metadata == null ? QueryHints.NoHints.INSTANCE : DefaultQueryHints.of(entityInformation, metadata); }
/** * Creates a new {@link QueryHints} instance for the given {@link JpaEntityInformation}, {@link CrudMethodMetadata} * and {@link EntityManager}. * * @param information must not be {@literal null}. * @param metadata must not be {@literal null}. * @return */ public static QueryHints of(JpaEntityInformation<?, ?> information, CrudMethodMetadata metadata) { Assert.notNull(information, "JpaEntityInformation must not be null!"); Assert.notNull(metadata, "CrudMethodMetadata must not be null!"); return new DefaultQueryHints(information, metadata, Optional.empty()); }
@Override public Map<String, Object> asMap() { Map<String, Object> hints = new HashMap<>(); hints.putAll(metadata.getQueryHints()); hints.putAll(getFetchGraphs()); return hints; }
@Override public Iterator<Entry<String, Object>> iterator() { return asMap().entrySet().iterator(); }
/** * Returns {@link QueryHints} with the query hints based on the current {@link CrudMethodMetadata} and potential * {@link EntityGraph} information. * * @return */ protected QueryHints getQueryHints() { return metadata == null ? NoHints.INSTANCE : DefaultQueryHints.of(entityInformation, metadata); }
@Override public QueryHints withFetchGraphs(EntityManager em) { return new DefaultQueryHints(this.information, this.metadata, Optional.of(em)); }
/** * Creates a new {@link QueryHints} instance for the given {@link JpaEntityInformation}, {@link CrudMethodMetadata} * and {@link EntityManager}. * * @param information must not be {@literal null}. * @param metadata must not be {@literal null}. * @return */ public static QueryHints of(JpaEntityInformation<?, ?> information, CrudMethodMetadata metadata) { Assert.notNull(information, "JpaEntityInformation must not be null!"); Assert.notNull(metadata, "CrudMethodMetadata must not be null!"); return new DefaultQueryHints(information, metadata, Optional.empty()); }