我正在尝试跟随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
是this 元素 的一个属性Collection
。
您可以通过 加入 集合 而不是取消引用 来解决此问题:
SELECT count(*)
FROM BillDetails bd
JOIN bd.billProductSet bps
WHERE bd.client.id = 1
AND bps.product.id = 1002
问题内容: 我有2节课: 我正在尝试按模型查询人。即使表之间的连接很清楚,运行以下代码也会 失败 : 错误是: 任何想法如何解决该问题? 问题答案: 当实体之间的关系已经定义时,可以使用以下语法:
问题内容: 我有2节课: 我正在尝试按模型查询人。即使表之间的连接很清楚,运行以下代码也会 失败 : 错误是: 任何想法如何解决该问题? 问题答案: 当实体之间的关系已经定义时,可以使用以下语法:
我使用spring数据jpa,我有这些类(每个类都有id…未显示) 所以在hov存储库中,我尝试通过vehiclesId进行搜索 原因:组织。springframework。豆子。工厂BeanCreationException:创建名为“hOVRepository”的bean时出错:调用init方法失败;嵌套异常为java。lang.IllegalArgumentException:未能为方法公共
问题内容: 我有一个问题,它给我错误: 无法创建sessionFactory object.org.hibernate.AnnotationException:非法尝试将非集合映射为@ OneToMany,@ ManyToMany或@CollectionOfElements:nl.scalda.pasimo.model.employeemanagement.EducationTeam.coachG
我有三个名称为depense、benifice和categories的实体,当我想在category实体中获取beneice_c和Depenese_C时。我会看到这个错误 依赖实体 Benfice实体 Categorie entite>公共类Categories实现Serializable{