qq_41903728 2020-01-20 17:25 采纳率: 0%
浏览 1127

JPA 请问怎样实现 select CASE WHEN END from

小弟初学JPA,东拼西凑出来了代码

public Page<SN> select(String product_id,···) {
  Page<SN> result = null;

  Specification<SN> queryCondition = new Specification<SN>() {
       @Override
        public Predicate toPredicate(Root<SN> root, CriteriaQuery<?> criteriaQuery, CriteriaBuilder criteriaBuilder) {
            List<Predicate> predicateList = new ArrayList<>();
            if(!product_id.equals("empty")){
            predicateList.add(criteriaBuilder.equal(root.get("productID"), product_id));
         }
                                ·····
            return criteriaBuilder.and(predicateList.toArray(new Predicate[predicateList.size()]));
     }
    result = sndao.findAll(queryCondition, PageRequest.of(pageNo - 1, pageSize, Sort.by(Sort.Direction.DESC,sort)));                
}

目前实现的都是
select id from S where···
请问各位大佬怎样实现

select id,CASE WHEN (EXISTS(select N.id from N where S.id=N.id))

THEN '0'

ELSE '1'

END N.id

from S

where···

  • 写回答

1条回答 默认 最新

  • 封印di恶魔 2020-01-20 18:01
    关注

    分成两句sql来拿
    或者自己写sql
    jpa本身就是以实体类和数据库字段绑定实现功能的,你还想通过条件获取查询结果

    评论

报告相同问题?

悬赏问题

  • ¥60 版本过低apk如何修改可以兼容新的安卓系统
  • ¥25 由IPR导致的DRIVER_POWER_STATE_FAILURE蓝屏
  • ¥50 有数据,怎么建立模型求影响全要素生产率的因素
  • ¥50 有数据,怎么用matlab求全要素生产率
  • ¥15 TI的insta-spin例程
  • ¥15 完成下列问题完成下列问题
  • ¥15 C#算法问题, 不知道怎么处理这个数据的转换
  • ¥15 YoloV5 第三方库的版本对照问题
  • ¥15 请完成下列相关问题!
  • ¥15 drone 推送镜像时候 purge: true 推送完毕后没有删除对应的镜像,手动拷贝到服务器执行结果正确在样才能让指令自动执行成功删除对应镜像,如何解决?