hql左连接查询,注意属性的书写

比如酒店表Hotel与房间表Room是一对多的关系,房间表Room与订单表Book是一对多的关系。我们要进行一个复杂的查询:查出某个酒店下所有没有订单的房间,并将这些房间按照房价排序。

String hql = "select r from Room r left join r.books b where b.id is null and r.hotel.id= 1 order by r.price";

注意此处book作为room的一对多属性,要用books来表示。room表中hotel_id这个属性要用r.hote.id来表示。

总的说来,hibernate是一个orm工具,因此插叙也是面向对象的查询。

你可能感兴趣的:(hql左连接查询,注意属性的书写)