问题描述
SQL如下:select*fromOrderso,(selectcity,addressee,zipcode,[address]fromOrdersgroupbycity,addressee,zipcode,[address]havingcount(*)>1)twhereo.city=t.cityando.addressee=t.addresseeando.zipcode=t.zipcodeando.[address]=t.[address]像这种selecta,bwherea.XX=b.XX的语法可不可以转成HQL?或者有没有别的替代写法?
解决方案
解决方案二:
上面说错了,补充一下:像这种selecta,(select*fromb)cwherea.XX=c.XX的语法可不可以转成HQL?或者有没有别的替代写法?
解决方案三:
很好,精典的代码
解决方案四:
selecta,(select*fromb)cwherea.XX=c.XX你可以这样写啊fromawherea.xxin(selectb.xxfromb)
解决方案五:
但不只一项,那估计我得这样写了:fromawherea.xxin(selectb.Cityfromb)anda.xxin(selectb.xxfromb)anda.xxin(selectb.xxfromb)anda.xxin(selectb.xxfromb)anda.xxin(selectb.xxfromb)....
解决方案六:
写的都不错!在网上找找实例收获会更多!
解决方案七:
Ok.solution:“selecta,(select*fromb)cwherea.XX=c.XX”。在hibernate中表对应的是类,那么在a表对应的这个类中,应该有一个集合Listb=newArrayList();下面你应该知道我干什么了吧:运用一对多的关系啊:FromA,BwhereA.xx=B.xx;但是你要在配置文件中配置一对多的关系。这样应该是可以的,我晚上回家测试一下,思路应该没什么问题的。