开发者社区> 问答> 正文

hibernate 多表关联查询的问题?报错

有三个实体类
A { id, B } , B {id, C} C{id}

现在有个HQL:
from A left join A.B where B.C.id = ?

也就是说,我现在有个查询条件是cid. 我要查A,请问我应该怎么弄啊?上面那条语句报错

展开
收起
爱吃鱼的程序员 2020-06-22 20:03:03 656 0
1 条回答
写回答
取消 提交回答
  • https://developer.aliyun.com/profile/5yerqm5bn5yqg?spm=a2c6h.12873639.0.0.6eae304abcjaIB

    检查hbm配置文件,A和B B和C都是一对一关系?

    fremAwhereB.C.id=?

    已查出来,属性配出错了。回复 @独孤小败:hql语句中用的属性名要与bean中成员变量名相同,不是数据库字段名。这个问题我也遇到过。回复 @独孤小败:couldnotresolveproperty可能是有个hbm文件中有个属性hibernae不认识。hbm是自动生成的吗不是,A和B是多对一,B和C是多对一 fromAleftjoinA.BleftjoinB.Cxwherex.id=? 猜的不对,报错,org.hibernate.QueryException:couldnotresolveproperty: fromA joinA.Bb whereb.cid=? b实体类里面没有cid这个属性,因为配置了many-to-one关系,两个只能有一个

    配置文件懒加载

    是的

    fromAleftjoinB ON A.B.id=B.id whereB.C.id=?

    2020-06-22 20:03:19
    赞同 展开评论 打赏
问答分类:
问答地址:
问答排行榜
最热
最新

相关电子书

更多
低代码开发师(初级)实战教程 立即下载
冬季实战营第三期:MySQL数据库进阶实战 立即下载
阿里巴巴DevOps 最佳实践手册 立即下载