0

我有这样的场景:

在我的日程表中Appointments,其中包含不同的Services. 每个Service都与一个相关Employee,即提供它。

代码看起来像这样:

class Appointment extends BaseEntity{
    ...
    private List<Service> services;
    private Date start, end;
    ...
    // getter/setter
}

class Service extends BaseEntity{
    ...
    private Employee employee;
    ...
    // getter/setter
}

class Employee extends BaseEntity{
    ...
    private String id;
    ...
    // getter/setter
}

我想编写一个查询,它选择Employeeall 的 id,这些 idServicesAppointments指定的时间间隔(从 date1 到 date2)内提供。

我尝试了几件事,但我没有什么是正确的。我的主要问题是我不知道如何正确使用ListinAppointment并将其与Employeeid 连接起来。我试过这个,但它不起作用:

“从约会 a 中选择 e.id,服务 s 离开加入 s.employee e where s in elements(a.services) and s.start <= date1 and s.end >= date2”;

有任何想法吗?

4

1 回答 1

3

尝试以下操作:

SELECT e.id 
FROM Appointment a 
INNER JOIN a.services s 
INNER JOIN s.employee e 
where s.start <= ? and s.end >= ?
于 2013-03-13T17:01:28.640 回答