当前位置: 代码迷 >> J2EE >> hibernate 多级关联查询有关问题
  详细解决方案

hibernate 多级关联查询有关问题

热度:44   发布时间:2016-04-17 23:19:43.0
hibernate 多级关联查询问题
有三张数据库表:A, B, C
A 的的字段包括:ida(PK), idb
B 的属性包括:idb(PK), idc
C 的属性包括:idc(PK), name

对应的实体是A :ida, B
实体B:idb, C
实体C:idc, name

我现在想通过C 的name属性进行条件查询。
我的HQL 语句是:
select  ida, B.C.name from A 

上面这句select语句是没有问题的。

我现在要做条件查询:
select  ida, B.C.name from A where B.C.name like '%北京%' 

这里加上where条件之后,就报错了。

org.hibernate.QueryException: could not resolve property:

但是下面这样的查询是没有问题的
select  ida, B.C.name, B.C.idc from A where B.C.idc='123' 


因为这里涉及到了三级查询,不知道是不是级数太多了,级数多了之后就只能用主键进行查询。
------解决思路----------------------
试试
select  a.ida, c.name from A a left join a.B b left join b.C c where c.name like '%北京%' 
  相关解决方案