Java JPQL-使用多个where条件更新
JPQL是否支持以下更新Java JPQL-使用多个where条件更新,java,hibernate,hql,where-clause,jpql,Java,Hibernate,Hql,Where Clause,Jpql,JPQL是否支持以下更新 Update Person p set p.name = :name_1 where p.id = :id_1, p.name = :name_2 where p.id = :id_2, p.name = :name_3 where p.id = :id_3 如果没有,还有其他选择吗? 我自己试过了。但是createQuery返回null JPA2.0支持大小写表达式。我提供了伪代码,可以
Update Person p set p.name = :name_1 where p.id = :id_1,
p.name = :name_2 where p.id = :id_2,
p.name = :name_3 where p.id = :id_3
如果没有,还有其他选择吗?
我自己试过了。但是
createQuery
返回null JPA2.0支持大小写表达式。我提供了伪代码,可以做相应的修改
- 您可以使用
尝试以下JPQL查询CASE
常规\u case\u表达式::=case WHEN条件\u表达式然后 标量表达式ELSE标量表达式结束updateperson p set p.name=CASE WHEN(p.id=:id1)然后:name_1 WHEN(p.id=:id2)然后:name_2 WHEN(p.id=:id3)然后:name_3 END
- 否则,可以尝试使用CriteriaAPI构建查询
when(表达式条件,R结果):添加
将when/then子句添加到case表达式中
criteriaBuilder.selectCase().when(criteriaBuilder.equal(person.get(“id”),id1),name_1)代码>