情况是这样的,现在有三张表 Hotel [id] [酒店表]
HotelAndHotelService [id,hotel_id,hotelService_id][酒店_酒店服务表]
hotelService[id][酒店服务表]
现在需求是这样的
酒店有这样一排服务,服务都是保存在酒店服务关系表里边的,当我选择1个或一个以上的酒店服务的时候,要能正确的查出正确的酒店,现在我传入的参数是酒店服务的id字符串[字符串格式是这样:1,2,3,55,22,33],我用过 了in,是不行的,求大神指导 ------解决方案-------------------- hotel和service是多对多的关系。
你的HotelAndHotelService的实体中有没有定义两个ManyToOne?
不能用in的话你这样:
1.在你的Action遍历你的ID数组,没遍历一个id,然后用下面这个hql查一下:
select hs.hotel from HotelAndHotelService hs where hs.hotelService.hotelServiceId =?;
如果查到了就在循环里add到一个集合中。
就这样。 ------解决方案--------------------
你们的分页没有封装?那就不好办了。。我们都是封装好的。。项目如果还要考虑分页SQL那不把人写死了。。 ------解决方案-------------------- select hotel from HotelAndHotelService where hotelService.id in (1,2,3,...);为什么不行? ------解决方案-------------------- 自己写sql 呢。