Hibernate Criteria Join con otro campo

Mi problema es que tengo que realizar este query con Criteria y no se como hacerlo

 

En Java tengo esto:

 

Este es el problema que me muestra porque esta buscando la llave primaria idgrupo_roles pero en realidad mi relacion no es con el primary key sino con la llave foranea idgrupo_permiso

 

Clase de Mapeo de Grupo_Roles:

 

Clase de Mapeo Permisos_Usuarios
 

Clase de Mapeo Grupos_Permisos:
 

Clase de Grupo_Roles:
 

Clase Grupos_Permisos
 

Clase Permisos_Usuarios:
 

Opciones de visualización de comentarios

Seleccione la forma que prefiera para mostrar los comentarios y haga clic en «Guardar las opciones» para activar los cambios.

Resuelto!!!

Como no pude especificar esto:

 

en Hibernate Criteria

 

Realice una sub-consulta en el cual puedo igualar los campos que se relacionan entre si en esas dos tablas

 

Imagen de Nopalin

Si vas a utilizar criteria

Si vas a utilizar criteria api de hibernate, debes de dejar de pensar el query al que quieres llegar y pensar en como buscar objetos.

Tu estas definidiendo esto:

 

Lo que significa que el objeto Pemisos_Usuarios debe tener una propiedad llamada grupo_roles que tambien debe ser una entidad, y en tu entidad no existe tal propiedad, ese es el problema.

Saludos