La situación es la siguiente:HQL: intento ilegal de recogida de eliminar la referencia
Tengo un libro entidad que tiene una relación de uno a muchos con el capítulo.
Ahora, si intento la consulta "from Book book inner join book.chapters chapter where chapter.title like '%hibernate%'
", me da el resultado deseado.
Pero si intento, "from Book where book.chapters.title like '%hibernate%'
", recibo el error intento ilegal de eliminar la colección.
Lo que pasa es que solo quiero la colección de objetos Book a cambio y no una colección de objetos Book and Chapter a cambio que obtengo con la consulta anterior.
¿Alguien podría ayudarme a entender?
Aunque entidad capítulo fue mapeado con pereza, ¿por qué habría que obtener sólo la colección de libros con mi anterior consulta? Creo que 'seleccionar el libro de libro interno unirse libro.capítulo capítulo donde capítulo.título como '% hibernate%' 'era lo que debería probar en su lugar, en primer lugar. Muchas gracias por su respuesta :) – skip
Agregué dos enlaces a mi respuesta que esbozan las estrategias de búsqueda. – joostschouten
Gracias por los enlaces, pero obtuve pares de libro y capítulo en el resultado, incluso cuando estaba usando LAZY para la estrategia de búsqueda. Aunque obtuve objetos duplicados para libros. Gracias por los enlaces :) :) – skip