我有一个类为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复合主键类关联类