Hibernate 如何在hql中选择员工?
我有这样一个场景: 在日程表中,我有Hibernate 如何在hql中选择员工?,hibernate,hql,Hibernate,Hql,我有这样一个场景: 在日程表中,我有约会,其中包含不同服务的列表。每个服务都与提供服务的员工相关 代码如下所示: class Appointment extends BaseEntity{ ... private List<Service> services; private Date start, end; ... // getter/setter } class Service extends BaseEntity{ ...
约会
,其中包含不同服务的列表
。每个服务
都与提供服务的员工相关
代码如下所示:
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
}
类约会扩展了BaseEntity{
...
私人名单服务;
私人约会开始、结束;
...
//吸气剂/塞特
}
类服务扩展了BaseEntity{
...
私人雇员;
...
//吸气剂/塞特
}
类Employee扩展了BaseEntity{
...
私有字符串id;
...
//吸气剂/塞特
}
我想写一个查询,它选择所有服务的员工
ID,这些服务在指定的时间间隔内(从date1到date2)在约会
中提供
我尝试了几件事,但都不对。我的主要问题是,我不知道如何正确使用约会中的列表
,以及如何将其与员工
id连接。我尝试了此方法,但无效:
“从约会a中选择e.id,服务s左加入s.employee e,其中s在元素中(a.services),s.start=date2”
有什么想法吗?试试以下方法:
SELECT e.id
FROM Appointment a
INNER JOIN a.services s
INNER JOIN s.employee e
where s.start <= ? and s.end >= ?
选择e.id
从预约
内部连接a.s
内部连接s.e
其中s.start=?
尝试以下操作:
SELECT e.id
FROM Appointment a
INNER JOIN a.services s
INNER JOIN s.employee e
where s.start <= ? and s.end >= ?
选择e.id
从预约
内部连接a.s
内部连接s.e
其中s.start=?
我对此投了更高的票,但您能否格式化您的答案,这样我们就不必滚动了?谢谢overmeulen。在我的手机上好多了。我投了这个,但是你能不能格式化你的答案,这样我们就不用滚动了?谢谢你。在我的手机上好多了。