首页 > 解决方案 > 当数据库的格式与 java.sql.Date 不同时如何将日期与 JPA 进行比较

问题描述

我希望你很好。

现在,我正在使用Spring FrameworkJPA repositories的JAVA项目。

就像正常一样,我试图从表中获取信息是指以下JPA方法:

Optional<Car> = findByNameAndModelDtIsLessThanEqual(String name, Java.sql.Date modelDt);

其中实体Car具有以下定义:

@Entity
@Table(name = "car")
public class Car{

    @Id
    @Column(name = "car_id")
    @GeneratedValue(strategy = GenerationType.AUTO)
    private Integer carId;

    @Column(name = "name")
    private String name;

    @Column(name = "model_dt")
    private Date modelDt;

        //Getters and Setters
}

当我调试代码时,方法中的参数是:

name: "VW"
modelDT: '2020-03-02'

但是JPA查询不起作用,因为在数据库中,model_dt字段以 “dd-MON-yy”格式(“02-MAR-20”)和java.sql.Date其他格式(“yyyy-mm-dd”)出现。

我试图在定义存储库中用 String modelDt替换java.sql.Date modelDt(意图使用类),但是,它并没有以这种方式工作。SimpleDateFormat

我想知道是否有一种方法可以比较 JPA 中的日期(我想避免使用 JPQL)。

有人知道我该如何解决这个问题。

问候。

标签: javaspringjpa

解决方案


推荐阅读