使用JPA / Criteria编写NON-EXIST查询

时间:2012-11-17 08:38:10

标签: jpa jpa-2.0 criteria-api

我正在运行一个应用程序模拟销售机票 使用简单的模式(1-n):

SEAT
------
id_seat
description
position

BOOKING
---------
id
customer
id_seat

我想使用JPA API或Criteria生成查询,它为我提供了所有可用SEAT的列表。也就是说,BOOKING表中不存在(未预订)的所有SEAT对象。 (SEAT.id_seat = BOOKING.id_seat

有人能给我一个线索,这是产生这种查询的最佳选择吗?

1 个答案:

答案 0 :(得分:1)

select seat from Seat seat 
where seat.id not in (
    select seat2.id from Booking booking 
    inner join booking.seat seat2)