开发者社区> 问答> 正文

JPA CriteriaBuilder?报错

数据库 mysql

需要查询SQL:

select * from xx where date_add(f1,interval f2 second) < now();

请问这个怎么用JPA的CriteriaBuilder查询呀?

criteriaBuilder.lessThan(
criteriaBuilder.function("date_add", Date.class, root.get("f1"), criteriaBuilder.literal("interval " + root.get("f2") + " second")),
criteriaBuilder.function("now", Date.class)
)

 

这个查询报错, interval f2 second这里转化失败了,怎么把f2变成 xx0.f2_xx_xx,

就是变成jpa自动生成的那个?

展开
收起
爱吃鱼的程序员 2020-06-07 18:20:44 573 0
1 条回答
写回答
取消 提交回答
  • https://developer.aliyun.com/profile/5yerqm5bn5yqg?spm=a2c6h.12873639.0.0.6eae304abcjaIB
                        <p>你的问题解决了吗?<br> 我用的这种方式: 不过我还是想用criteriaBuilder这种方式</p> 
    
    @Query(value = "SELECT  * FROM  order_main m " +
            " WHERE   DATE_ADD(m.delivery_time,INTERVAL m.day_num DAY) <= now()  " +
            "AND m.order_after_sales_status IS  NULL AND m.status = ? AND  m.user_id=? 1 /*#pageable*/ ",
            nativeQuery = true)
    Page<OrderMain> findRentOrder( String status  ,Long userId, Pageable pageable);
                            没找到呀,我也是直接用SQL写的
    
    2020-06-07 18:20:58
    赞同 展开评论 打赏
问答排行榜
最热
最新

相关电子书

更多
低代码开发师(初级)实战教程 立即下载
冬季实战营第三期:MySQL数据库进阶实战 立即下载
阿里巴巴DevOps 最佳实践手册 立即下载