My understanding of SQL and JPQL are not that great and I have been trying to create a JPQL query of the following sql statement:
select group.* from user, user_
Using JPQL it would be:
TypedQuery<Group> query = em.createQuery(
"SELECT DISTINCT g FROM User u LEFT JOIN u.groupCollection g " +
"WHERE u = :user", Group.class);
query.setParameter("user", user);
List<Group> = query.getResultsList();
where em is your EntityManager and user is the instance of the User class for which to load group list. If you only have the user id, change with:
TypedQuery<Group> query = em.createQuery(
"SELECT DISTINCT g FROM User u LEFT JOIN u.groupCollection g " +
"WHERE u.id = :user", Group.class);
query.setParameter("user", userId);
It would be better to use a Set or SortedSet (or maybe a List if the user can be in the same group more than once) instead of a Collection.