博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
hibernate-jpa复杂查询,in
阅读量:5846 次
发布时间:2019-06-18

本文共 2616 字,大约阅读时间需要 8 分钟。

  hot3.png

public List
getRecorderListByCondition(Integer applyId, List
recordIds, FaceSignUpSearchVO vo) { String sql = "select t.recordId,t.name,IFNULL(ext.is_vip,0) vip,ext.face_url imgFile,t.job position,t.mobile phoneNumber,t.position companyName,t.codedata qrCode,t1.face_id faceId " + "from t_template_record t LEFT JOIN t_template_record_ext ext on t.recordid=ext.template_record_id LEFT JOIN t_template_record_face t1 on t.recordid=t1.recordid WHERE t.APPLYID=:applyId and t.status=1 and t.vilidstatus!=2"; if (CollectionUtils.isNotEmpty(recordIds)) { sql += " and t.recordid in :recordIds"; } if (StringUtils.isNotBlank(vo.getName())) { sql += " and t.name like '% :name %' "; } if (StringUtils.isNotBlank(vo.getMobile())) { sql += " and t.name like '% :mobile %' "; } if (vo.getStatus() != null) { sql += " and t.status =:status"; } if (vo.getVilidStatus() != null) { sql += " and t.vilidStatus =:vilidStatus"; } if (vo.getIsPush() != null && vo.getIsPush() == IsPushEnum.YES.getType()) { sql += " and t1.is_push =:isPush"; } Query query = entityManager.createNativeQuery(sql.toString()); query.setParameter("applyId", applyId); if (CollectionUtils.isNotEmpty(recordIds)) { query.setParameter("recordIds", recordIds); } if (StringUtils.isNotBlank(vo.getName())) { query.setParameter("name", vo.getName()); } if (StringUtils.isNotBlank(vo.getMobile())) { query.setParameter("name", vo.getMobile()); } if (vo.getStatus() != null) { query.setParameter("status", vo.getStatus()); } if (vo.getVilidStatus() != null) { query.setParameter("vilidStatus", vo.getVilidStatus()); } if (vo.getIsPush() != null) { query.setParameter("isPush", vo.getIsPush()); } query.unwrap(SQLQuery.class) .addScalar("recordId", IntegerType.INSTANCE) .addScalar("name", StringType.INSTANCE) .addScalar("vip", BooleanType.INSTANCE) .addScalar("imgFile", StringType.INSTANCE) .addScalar("position", StringType.INSTANCE) .addScalar("phoneNumber", StringType.INSTANCE) .addScalar("companyName", StringType.INSTANCE) .addScalar("qrCode", StringType.INSTANCE) .addScalar("faceId", StringType.INSTANCE) .setResultTransformer(Transformers.aliasToBean(MiniVisionFaceRecorderVO.class)); return query.getResultList();}

recordIds要传集合,我一开始传递的

StringUtils.join(recordIds,",");

被坑的不浅。。。。。。

转载于:https://my.oschina.net/kezhen/blog/1583539

你可能感兴趣的文章
为什么不应该使用Zookeeper做服务发现?(转载)
查看>>
京东购物在微信等场景下的算法应用实践
查看>>
Chef宣布100%开源,要走红帽模式?\n
查看>>
“迁移策略+新容器运行时”应对有状态应用的冷热迁移挑战
查看>>
利用人工智能提升团队包容性
查看>>
Oracle发布多语种虚拟机平台GraalVM 1.0
查看>>
Gil Zilberfeld问答:敏捷产品的规划与管理
查看>>
Qt 工程管理
查看>>
Azul Systems推出Falcon,一个基于LLVM的新的Java即时编译器
查看>>
某些编程语言更容易出错?研究人员提出质疑
查看>>
90 后 CTO 创业 6 年,做了一件改变互联网的“小事”
查看>>
首份《敏捷回顾年度报告》发布
查看>>
Slack桌面3.0迁移到BrowserView
查看>>
Node和JS基金会宣布合并为 OpenJS 基金会
查看>>
我们常常意识不到问题的存在,直到有人解决了这些问题
查看>>
Oracle 裁员史:技术人死于重组,卒于云计算
查看>>
都去炒AI和大数据了,落地的事儿谁来做?
查看>>
Angular2管理外部类型定义和处理“Duplicate identifier” TypeScript错误
查看>>
快速入门react-native
查看>>
Java线程的状态及切换
查看>>