Java 使用IN&;通过JPQL获取数据时,操作数应包含2列;条款成员
我正在尝试获取员工可用性的数据,并创建一个查询。我使用@ElementCollection注释来映射skills和daysAvailable,它将数据存储到另一个表中Java 使用IN&;通过JPQL获取数据时,操作数应包含2列;条款成员,java,mysql,spring-boot,jpql,hibernate-mapping,Java,Mysql,Spring Boot,Jpql,Hibernate Mapping,我正在尝试获取员工可用性的数据,并创建一个查询。我使用@ElementCollection注释来映射skills和daysAvailable,它将数据存储到另一个表中 TypedQuery<Employee> query = entityManager.createQuery("select e from Employee e where :day MEMBER OF e.daysAvailable and :list MEMBER OF e.skills ", Employee.c
TypedQuery<Employee> query = entityManager.createQuery("select e from Employee e where :day MEMBER OF e.daysAvailable and :list MEMBER OF e.skills ", Employee.class);//
query.setParameter("day", dayOfWeek);
query.setParameter("list", employeeRequestDTO.getSkills());
List<Employee> list = query.getResultList();
有什么建议吗?在JPQL中,的
成员接受单个参数并检查该参数是否包含在提供的集合中
有关更多详细信息,请查看
请改为尝试此查询:
select e
from Employee e
join e.skills s
where
:day MEMBER OF e.daysAvailable and
s in :list
在JPQL中,
的成员接受单个参数并检查该参数是否包含在提供的集合中
有关更多详细信息,请查看
请改为尝试此查询:
select e
from Employee e
join e.skills s
where
:day MEMBER OF e.daysAvailable and
s in :list
Hi-Vlad,我如何获取与列表中的所有值匹配的记录,而不仅仅是任何值??查看更多详细信息。Hi-Vlad,值列表将是动态的。因此,我不确定如何实现您给出的链接中提到的答案,因为它们将单个值作为参数传递。您可以动态地将列表传递给in子句,并将列表大小传递给GROUPBY子句。这不容易,但可行。嗨,弗拉德,谢谢你的帮助。我可以使用你共享的链接来完成。非常感谢!!:)Hi-Vlad,我如何获取与列表中的所有值匹配的记录,而不仅仅是任何值??查看更多详细信息。Hi-Vlad,值列表将是动态的。因此,我不确定如何实现您给出的链接中提到的答案,因为它们将单个值作为参数传递。您可以动态地将列表传递给in子句,并将列表大小传递给GROUPBY子句。这不容易,但可行。嗨,弗拉德,谢谢你的帮助。我可以使用你共享的链接来完成。非常感谢!!:)
select e
from Employee e
join e.skills s
where
:day MEMBER OF e.daysAvailable and
s in :list