• Spring Data Jpa Specification 调用Oracle 函数/方法


    开发框架用的Jpa,数据库是 Oracle。
    在开发中难免会遇到需要数据库字段是字符串格式,但是又需要对其进行范围查询(数据库设计问题,后续应避免).那么问题来了, Jpa Specification怎么查询呢?

    if(StrUtil.isNotBlank(planStartDate)){
                    //调用Oracle方法,第一个参数是方法名称,第二个是返回数据类型,后续的是参数,可以多个
                    Expression<Date> function = criteriaBuilder.function("to_date" , Date.class,
                            root.get("planStartDate"), criteriaBuilder.literal("YYYY-MM-DD"));
                    //得到Expression 就可以进行后续操作了
                    Predicate predicate = criteriaBuilder.greaterThan(function, DateUtil.parse(planEndDate));
                    predicates.add(predicate);
                }
    
    

    生成的sql如下

    select
                projecttop0_.*
            from
                tecskill_topic projecttop0_ 
            where
                projecttop0_.pass_status=1 
                and projecttop0_.project_status=2 
                and to_date(projecttop0_.plan_start_date, ? )>?
    
  • 相关阅读:
    BufferedOutputStream
    BufferedInputStream
    IO异常 的处理
    FileOutStream
    FileInputStream
    File常用的方法
    IO流
    枚举
    jdk1.5新特性之-----自动装箱与自动拆箱
    jdk1.5新特性之------->可变参数
  • 原文地址:https://www.cnblogs.com/INWCL/p/13042670.html
Copyright © 2020-2023  润新知