Tengo 2 clases que tienen una relación de muchos a muchos. Tomo la 'Pregunta' y 'Etiqueta' como ejemplo para hacer que el caso sea más comprensible.Hibernar de muchos a muchos: Criterios para buscar toda la clase A que contiene la clase B
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".
Puedo, como máximo, hacerlo con SQLQuery en la tabla de muchos a muchos y devolver una lista de ID de pregunta. Luego use un criterio con una restricción.in y obtenga todas las preguntas. Pero es demasiado torpe y apuesto a que hay una mejor manera de hacerlo, ¿verdad?
¡Debería haber preguntado mucho antes! No puedo creer que sea tan directo. –
Gracias @lomaxx, tengo la misma pregunta pero con un pequeño requisito diferente: ¿Qué sucede si quiero comparar el "qt" con un objeto Tag? (no qt.name con tag.getName()) – smallufo
@smallufo: ¿qué quieres decir? ¿Estás diciendo que tienes una etiqueta y quieres comparar la colección qt.Tags con esa etiqueta? En ese caso, debe hacer Restrictions.eq ("qt.Tags.Id", tag.Id) – lomaxx