有什么方法可以在jpql中为“列表包含列表中的所有内容”创建一个查询

时间:2018-12-22 19:02:33

标签: sql postgresql jpa

我正在尝试创建一个查询,以返回列表中具有所有认证的用户。

我已经尝试过了:

public List<UserFilterModel> getUserBasedOnCertificationAndSkills(Filter filter)
{
    StringBuilder queryString = new StringBuilder(
        "select  distinct user from UserEntity user left join fetch user.userCertifications uc where user.validity=true" 
   );
    if(!filter.getCertIds().isEmpty())
    {
        for(Integer id:filter.getCertIds())
            queryString.append(" and "+id+" in uc.certification.id");
    }...

但这显然不起作用。奇怪的是,如果我进行更改并对其进行运算,或者它运行良好。

还有什么其他方法可以像jpql中的contains一样

1 个答案:

答案 0 :(得分:0)

我想你想要

queryString.append(" and uc.certification.id = " +id);

代替:

queryString.append(" and "+id+" in uc.certification.id");