java - 当数据库的格式与 java.sql.Date 不同时如何将日期与 JPA 进行比较
问题描述
我希望你很好。
现在,我正在使用Spring Framework和JPA 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)。
有人知道我该如何解决这个问题。
问候。
解决方案
推荐阅读
- java - Wildfly 20 升级和 OpenJRE 8 - 在模块路径或类路径上找不到 JAXB-API 的实现
- swift - 如何使用嵌套枚举最好地创建 Uno 卡片和卡片组
- java - 来自 LeanFT 14.50 的 Eclipse 中的第一个“hello, world”测试用例
- ios - XCode 12,ios 14,无法在 ios 14 以下的 ios 版本的模拟器中复制粘贴
- javascript - 如何从函数返回全局字符串?
- shell - linux脚本检查文件是否存在于特定目录超过一个小时
- amazon-web-services - 如何在 CloudFormation Script 上添加 SNS 主题的电子邮件订阅?
- amazon-web-services - Cloudfront/S3 - 限制用户可以访问静态站点的内容
- python - 我需要更改熊猫数据框中几列的类型。不能使用 iloc 这样做
- php - 如何修改设备的搜索模型以按用户从其他表中搜索