hibernate hql jpa-2.0 dereference jpa-2.1

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