Ver Mensaje Individual
  #5 (permalink)  
Antiguo 22/11/2014, 13:51
jlgarcia1977
 
Fecha de Ingreso: octubre-2008
Ubicación: Madrid
Mensajes: 352
Antigüedad: 16 años, 1 mes
Puntos: 5
Respuesta: Join Criteria JPA

Está era la solución. No estaba haciendo bien la subquery.

Código Java:
Ver original
  1. Subquery<Aplicacion> subqueryGrupo = query.subquery(Aplicacion.class);
  2.       Root<GrupoAplicacion> filtroGrupo = subqueryGrupo.from(GrupoAplicacion.class);
  3.       Join<GrupoAplicacion, Aplicacion> aplicacionesJoin = filtroGrupo.join(GrupoAplicacion_.aplicaciones);
  4.  
  5.       subqueryGrupo.select(aplicacionesJoin);
  6.       subqueryGrupo.where(cb.equal(filtroGrupo, grupoAplicacion));
  7.  
  8.       if (asociadas) {
  9.         restrictionsList.add(cb.and(cb.in(aplicacion).value(subqueryGrupo)));
  10.       } else {
  11.         restrictionsList.add(cb.not(cb.in(aplicacion).value(subqueryGrupo)));
  12.       }