org.hibernate.QueryException: intento ilegal de eliminación de la colección
hql jpa-2.0 (2)
porque billProduct es de uno a muchos mapeos y hay muchas entidades de BillProduct de una entidad de BillDetails, no puede desreferenciarlas en la consulta. Debe unir el modelo de BillDetails a billProduct y filtrar el resultado con cluase.
Estoy intentando seguir la consulta hql para ejecutar
SELECT count(*)
FROM BillDetails as bd
WHERE bd.billProductSet.product.id = 1002
AND bd.client.id = 1
Pero está mostrando
org.hibernate.QueryException: illegal attempt to dereference collection
[billdetail0_.bill_no.billProductSet] with element property reference [product]
[select count(*) from iland.hbm.BillDetails as bd where bd.billProductSet.product.id=1001 and bd.client.id=1]
at org.hibernate.hql.ast.tree.DotNode$1.buildIllegalCollectionDereferenceException(DotNode.java:68)
at org.hibernate.hql.ast.tree.DotNode.checkLhsIsNotCollection(DotNode.java:558)
billProductSet
es una Collection
. Como tal, no tiene un atributo llamado product
.
Product
es un atributo de los elementos de esta Collection
.
Puede solucionar el problema uniéndose a la colección en lugar de desreferenciarla :
SELECT count(*)
FROM BillDetails bd
JOIN bd.billProductSet bps
WHERE bd.client.id = 1
AND bps.product.id = 1002