我有一个拥有许多汽车的用户实体。
我不能用"IN“语句获取用户的汽车列表。
List<Car> cars = getCarsList();
String hql = "From User WHERE user.cars in(:cars)";
Query query = session.createQuery(hql)
query.setParameterList("cars",cars);
//query.setParameterList("cars",cars.toArray());//not working also
//query.setParameter("cars","1,4,8,30");//not working also
query.setMaxResults(1);
在这种情况下,参数是被忽略的汽车。
我还尝试发送vars.toArray();
我还尝试发送字符串1,4,8,300 (如果是汽车,则发送I)。
发布于 2011-04-22 22:34:15
未定义用户别名。尝试使用
String hql = "from User user inner join user.cars car where car.id in (:carIds)";
Query query = session.createQuery(hql)
query.setParameterList("cars", carIds);
其中,carIds是一个包含汽车ID的集合(而不是第三次尝试中的字符串)。
https://stackoverflow.com/questions/5756416
复制相似问题