添加' NOT IN'使用位置参数的本机查询中的子句?

时间:2017-03-16 08:05:22

标签: java sql jpa java-ee-6

如何在本机SQL查询JPA中动态附加NOT IN子句,

public final String s =  "SELECT * FROM EMPLOYEE WHERE EMPLOYEE_ID NOT IN ?";
public final String e_not_in = "('a', 'b', 'c')";

在java代码中,

List<Employee>  el = getEm().createNativeQuery(s).setParameter(1, e_not_in);

但结果列表包含与'a''b''c'相关的数据,目前SQL常量中有超过200个查询使用此常量动态参数,是否有任何解决方法除了在每个SQL查询中对NOT IN子句进行硬编码或将位置参数更改为EMPLOYEE_ID NOT IN (?1, ?2, ?3)'a''b'的{​​{1}}等单个列表项之外,由于问题在于生产,需要立即解决,任何能够立即做出改变的解决方案都会有所帮助。

由于

1 个答案:

答案 0 :(得分:0)

试试这个:

filledcurves

更新: 是的,我的意思是var a = [1,2,3,4,5];