Esta pregunta es muy similar a this one pero las respuestas fueron mínimas a esa pregunta.Pregunta de criterios de Hibernate para hacer coincidir con todos los elementos de la colección hija
Tengo una clase para padres con un conjunto de entidades secundarias. Las entidades secundarias son solo un contenedor de una cadena y viven en una tabla diferente a la entidad principal. Deseo tener una consulta de criterio que devuelva las entidades padre cuando todos los miembros del conjunto de entidades hijo devuelvan verdadero a una condición. Esta condición se corresponde con una de una lista de cadenas. Aquí es donde estoy:
Criteria c = criteria();
Criteria ands = c.createCriteria("ands");
Disjunction dis = Restrictions.disjunction();
for (String value : values) {
dis.add(Restrictions.like("value", "%" + value + "%"));
}
ands.add(dis);
return list(c);
"ands" es el conjunto de entidades con un campo "valor" que es una cadena. "criteria()" crea un criterio para la clase padre. "list()" simplemente llama a criterios.list();
Esto es solo coincidencia con cualquiera de los elementos, en lugar de todos.
Espero que esto tenga sentido. Cualquier ayuda muy apreciada.
Hola, Tiene que ser una disyunción porque quiero seleccionar la matriz donde cada elemento de la colección es como cualquiera string a, o string b, o string c. etc. –