javax.persistence.Query 如何设置数组(集合)参数(spring data jpa)


前提:变量ageList是一个集合或者数组
   变量sex是String类型表示性别
使用下面这种方式设置参数
String querySql=" SELECT u.id, u.username, FROM u.age in (?) AND u.sex = ? ";
Query query = entityManager.createNativeQuery(querySql);
query.setParameter(1, ageList);
query.setParameter(2, sex);
ageList变量无效,查询不到想要的数据

解决办法:
String querySql=" SELECT u.id, u.username, FROM u.age in (:age) AND u.sex = :sexValue ";
Query query = entityManager.createNativeQuery(querySql);
final String age= "age";
final String sexValue= "sexValue";
query.setParameter(age, ageList);
query.setParameter(sexValue,sex);

将根据position(位置)设置参数的语句修改为根据名称设置参数的形式即可
转载请注明来源


免责声明!

本站转载的文章为个人学习借鉴使用,本站对版权不负任何法律责任。如果侵犯了您的隐私权益,请联系本站邮箱yoyou2525@163.com删除。



 
粤ICP备18138465号  © 2018-2025 CODEPRJ.COM