반응형
org.hibernate.QueryException : 컬렉션을 역 참조하려는 잘못된 시도
실행하기 위해 hql 쿼리를 따르려고합니다.
SELECT count(*)
FROM BillDetails as bd
WHERE bd.billProductSet.product.id = 1002
AND bd.client.id = 1
그러나 그것은 보여주고 있습니다
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
입니다 Collection
. 따라서라는 속성이 없습니다 product
.
Product
이 요소 의 속성 입니다Collection
.
컬렉션 을 역 참조 하는 대신 조인 하여 문제를 해결할 수 있습니다 .
SELECT count(*)
FROM BillDetails bd
JOIN bd.billProductSet bps
WHERE bd.client.id = 1
AND bps.product.id = 1002
billProduct는 일대 다 매핑이고 하나의 BillDetails 엔터티에서 많은 billProduct 엔터티가 있으므로 쿼리에서이를 역 참조 할 수 없습니다. BillDetails 모델을 billProduct에 조인하고 where cluase로 결과를 필터링해야합니다.
반응형
'IT story' 카테고리의 다른 글
ToString ()을 사용하지 않고 C #에서 Int를 String으로 어떻게 변환합니까? (0) | 2020.12.29 |
---|---|
Android Studio-푸시 실패 : 치명적 : 원격 저장소에서 읽을 수 없음 (0) | 2020.12.29 |
-1 ** 2가 JavaScript에서 구문 오류 인 이유는 무엇입니까? (0) | 2020.12.29 |
Eclipse 파일 검색에 svn 디렉토리가 포함되지 않도록하려면 어떻게해야합니까? (0) | 2020.12.29 |
컬렉션 org.hibernate.HibernateException에 대한 공유 참조를 찾았습니다. (0) | 2020.12.29 |