当前位置:编程学习 > JAVA >>

关于Criteria对复合主键类的关联类的查询

我有一个类为Receive,一个类为Equipment,一个类为ReceiveWithEquipment。

其中,ReceiveWithEquipment有个复合主键类,id( rid,eid)分别指向Receive和Equipment。

那么我语句如下:

Criteria criteria = session.createCriteria(Receive.class);
criteria.createAlias("receiveWithEquip","rr").createAlias("rr.id","dd").createAlias("dd.equipment","eee").add(Restrictions.isNotNull("eee.ename"));


一直报错,提示: com.mysql.jdbc.exceptions.jdbc4.MySQLSyntaxErrorException: Unknown column 'eee3_.ename' in 'where clause'

后台SQL语句为:Hibernate: select this_.receiveNum as receiveNum8_1_, this_.receiveTime as receiveT2_8_1_, this_.backTime as backTime8_1_, this_.r_operator as r4_8_1_, this_.b_operator as b5_8_1_, this_.overOrNot as overOrNot8_1_, this_.userid as userid8_1_, rr1_.receiveNum as receiveNum9_0_, rr1_.eid as eid9_0_, rr1_.backTime as backTime9_0_, rr1_.receiveTime as receiveT4_9_0_, rr1_.b_operator as b5_9_0_, rr1_.r_operator as r6_9_0_ from receive this_ inner join receiveWithEquip rr1_ on this_.receiveNum=rr1_.receiveNum where eee3_.ename is not null

看了下SQL语句,其中eee3根本就没有,但是在where语句却存在着。。

求各位大神帮忙!!!! 语句要如何写呢!!!!   我用HQL语句写是可以查询得到的。。说明映射关系方面是没问题的!!! Criteria 复合主键类 关联类 --------------------编程问答-------------------- 居然没人回我!!!
补充:Java ,  Java EE
CopyRight © 2022 站长资源库 编程知识问答 zzzyk.com All Rights Reserved
部分文章来自网络,