我正在尝试创建一个查询,以返回列表中具有所有认证的用户。
我已经尝试过了:
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
一样
答案 0 :(得分:0)
我想你想要>
queryString.append(" and uc.certification.id = " +id);
代替:
queryString.append(" and "+id+" in uc.certification.id");