首页 > 解决方案 > Spring jpa使用字符串日期检查记录是否存在

问题描述

我想使用 Spring JPA 查询使用两个参数检查数据库是否已经存在给定运行日期和名称的记录:

  @Query("SELECT CASE WHEN COUNT(r)> 0 THEN true ELSE false END FROM REQUEST r WHERE r.NAME = :reqName AND r.RUN_DATE = :runDate")
    boolean existsRequest(@Param("reqName") String reqName,
                             @Param("runDate") String runDate);

RUN_DATE在Database H2 中,Sql Server的类型是一个DATE字段。然而,我提供 String 作为格式日期的参数YYYY-MM-DD

以上对我不起作用,我想知道如何使用 JPQL 和 nativeQuery 正确编写它?

标签: javajpaspring-data-jpajpql

解决方案


对于这种特定情况,我认为最优雅的方法是使用查询方法:

boolean existsByNameAndRunDate(String name, String runDate);

推荐阅读