You are viewing a plain text version of this content. The canonical link for it is here.
Posted to jdo-commits@db.apache.org by ti...@apache.org on 2019/04/25 16:41:51 UTC

[db-jdo] branch master updated: JDO-778: Adding overloaded methods to JDOQLTypedQuery to create a correlated subquery (#4)

This is an automated email from the ASF dual-hosted git repository.

tilmannz pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/db-jdo.git


The following commit(s) were added to refs/heads/master by this push:
     new d23c2c1  JDO-778: Adding overloaded methods to JDOQLTypedQuery to create a correlated subquery (#4)
d23c2c1 is described below

commit d23c2c116c74bb389df9993c95968eb19235e895
Author: Michael Bouschen <mb...@apache.org>
AuthorDate: Thu Apr 25 18:41:46 2019 +0200

    JDO-778: Adding overloaded methods to JDOQLTypedQuery to create a correlated subquery (#4)
---
 api/src/main/java/javax/jdo/JDOQLTypedQuery.java | 36 +++++++++++++++++++++++-
 1 file changed, 35 insertions(+), 1 deletion(-)

diff --git a/api/src/main/java/javax/jdo/JDOQLTypedQuery.java b/api/src/main/java/javax/jdo/JDOQLTypedQuery.java
index da04f38..9564374 100644
--- a/api/src/main/java/javax/jdo/JDOQLTypedQuery.java
+++ b/api/src/main/java/javax/jdo/JDOQLTypedQuery.java
@@ -343,11 +343,45 @@ public interface JDOQLTypedQuery<T> extends Serializable, Closeable {
      * @param candidate Candidate for the subquery
      * @param candidateAlias Alias for the candidate
      * @return The subquery
-     * @param <S> candidate type for subquery
+     * @param <S> Candidate type for subquery
      */
     <S> JDOQLTypedSubquery<S> subquery(Class<S> candidate, String candidateAlias);
 
     /**
+     * Method to return a correlated subquery for use in this query.
+     * The candidate collection of the subquery is defined using a collection relationship of the outer query.
+     * To obtain the expression for the subquery to link it back to this query, call "result(...)" on the subquery.
+     * @param candidateCollection Expression defining the candidate collection for the subquery
+     * @param candidateAlias Alias for the candidate
+     * @return The subquery
+     * @param <E> Candidate type for subquery
+     */
+    <E> JDOQLTypedSubquery<E> subquery(CollectionExpression<Collection<E>, E> candidateCollection, String candidateAlias);
+
+    /**
+     * Method to return a correlated subquery for use in this query.
+     * The candidate collection of the subquery is defined using a list relationship of the outer query.
+     * To obtain the expression for the subquery to link it back to this query, call "result(...)" on the subquery.
+     * @param candidateList Expression defining the candidate collection for the subquery
+     * @param candidateAlias Alias for the candidate
+     * @return The subquery
+     * @param <E> Candidate type for subquery
+     */
+    <E> JDOQLTypedSubquery<E> subquery(ListExpression<List<E>, E> candidateList, String candidateAlias);
+
+    /**
+     * Method to return a correlated subquery for use in this query.
+     * The candidate collection of the subquery is defined using a map relationship of the outer query.
+     * To obtain the expression for the subquery to link it back to this query, call "result(...)" on the subquery.
+     * @param candidateMap Expression defining the candidate collection for the subquery
+     * @param candidateAlias Alias for the candidate
+     * @return The subquery
+     * @param <K> The key type of the map relationship
+     * @param <V> The value type the map relationship
+     */
+    <K, V> JDOQLTypedSubquery<Map.Entry<K, V>> subquery(MapExpression<Map<K, V>, K, V> candidateMap, String candidateAlias);
+
+    /**
      * Method to set the named parameters on this query prior to execution.
      * All parameter values specified in this method will only be retained until the subsequent query execution.
      * @param namedParamMap The map of parameter values keyed by their names.