Necesito ayuda con un problema de consulta de hibernación complicado. Tengo las siguientes entidades:Hibernar: Seleccione las entidades donde la colección contiene todos los valus especificados
public class Book {
private String bookId;
private String author;
private String isbn;
private Set<Tag> tags;
// getters, setters etc.
}
y
public class Tag {
private String tagId;
private String tagName;
// getters, setters, etc.
}
existe una relación de muchos a muchos entre los dos que se representa mediante una tabla de unión books_tags_mn con las columnas y book_id tag_id.
Lo que me gusta hacer es la siguiente: Quiero crear una consulta/criterios de hibernación consulta que devuelve todo libro que tiene todas de un determinado conjunto de etiquetas. Lo que sí funciona es seleccionar todos los libros que tengan cualquier de un conjunto de etiquetas.
He estado jugando con la API de criterios, pero realmente no lo entiendo. Así que lo que estoy tratando de hacer (en seudo HQL)
from Book book where book.tags containsAll(:tags)
Cualquier ayuda en esto sería muy apreciada, así que muchas gracias de antemano.
Gracias que funciona como un encanto! –
En caso de que la colección pueda contener duplicados (no en ID), es posible que desee agregar recuento (distinto) – Ben