我有两个对象,一个房间类型和一个预订。简化为:
class Room {
String description
int quantity
}
class Reservation {
String who
Room room
}
我想查询所有房间以及每种类型的可用房间数量。在 SQL 中,这可以满足我的要求:
select id, quantity, occupied, quantity-coalesce(occupied, 0) as available
from room left join(select room_id, count(room_id) as occupied from reservation)
on id = room_id;
我没有任何地方试图弄清楚如何用 HQL 做到这一点。
我会很感激任何指针,因为我似乎在 HQL 或 GORM 中缺少一些相当基本的东西。