Hibernate muchos a muchos: Criterios para buscar toda la clase A que contiene la clase B

Tengo 2 clases que tienen muchas relaciones. Tomo la 'Pregunta' y la 'Etiqueta' como ejemplo para hacer que el caso sea más comprensible.

Para cada pregunta, tiene varias etiquetas. Lo mismo que para la etiqueta.

Lo que me gustaría hacer es obtener todas las preguntas (y sus etiquetas correspondientes) si la pregunta contiene una etiqueta que dice "hibernar".

A lo sumo, puedo hacerlo con un SQLQuery en la tabla de muchos a muchos y devolver una lista de la ID de la pregunta. Luego use un criterio con restricciones.in y tome todas las preguntas. Pero es demasiado torpe y apuesto a que hay una mejor manera de hacerlo, ¿verdad?

Respuestas a la pregunta(1)

Su respuesta a la pregunta