当前位置: 首页 > 知识库问答 >
问题:

Spring Data JPA如何传递日期参数

赏开宇
2023-03-14

我在一个spring MVC项目和spring tools套件中工作,我想把一个日期参数传递给一个原生查询,到目前为止我已经有了这个。

扩展JpaRepository的接口中的查询方法

 @Query(value  = 
            "SELECT "
                + "a.name, a.lastname
            + "FROM "
                + "person  a, "
                + "myTable b "
            + "WHERE "
            + "a.name= ?1' "
            + "AND a.birthday = ?2 ",
         nativeQuery = true)
    public ArrayList<Object> personInfo(String name, String dateBirthDay);
public ArrayList<Object> getPersonsList(String name, String dateBirthDay) {

            ArrayList<Object> results= null;

            results= serviceAutowiredVariable.personInfo(name, dateBirthDay);

            return results;
        }
personsList= _serviceAutowiredVariable.getPersonsList("Jack", "TO_DATE('01-08-2013', 'DD-MM-YYYY')" );
    [Request processing failed; nested exception is org.springframework.orm.jpa.JpaSystemException: org.hibernate.exception.DataException: could not extract ResultSet; nested exception is javax.persistence.PersistenceException: org.hibernate.exception.DataException: could not extract ResultSet] root cause
java.sql.SQLDataException: ORA-01858: a non-numeric character was found where a numeric was expected

ERROR: org.hibernate.engine.jdbc.spi.SqlExceptionHelper - ORA-01858: a non-numeric character was found where a numeric was expected

共有1个答案

钮安歌
2023-03-14

您可以使用这样的结构:

import org.springframework.data.repository.query.Param;
...

@Query(value  = 
    " SELECT a.id, a.lastname FROM person a" + 
    " WHERE a.name = :name AND a.birthday = :date ", nativeQuery = true)
public List<Object[]> getPersonInfo(
    @Param("name") String name, 
    @Param("date") Date date);
 类似资料:
  • 如何将UTC日期传递给Web API? 传递< code>2010-01-01可以正常工作,但是当我传递一个UTC日期,如< code > 2014-12-31t 22:00:00 . 000 z (带有时间部分)时,我得到一个HTTP 404响应。因此 产生 404 错误响应,而 工作正常。 如何将UTC日期传递给Web API,或者至少指定日期和时间?

  • 问题内容: 我正在尝试创建以start_date和end_date为参数的 JR 报告。 查询: 代码: 我们可以将两个参数传递到表中的同一列吗?例如: 问题答案: 您的代码是错误的。 您应该传递如下参数: 您无需添加 到参数名称。 JasperReports 分发包中有很多示例。 您可以查看此样本以获取更多详细信息。

  • 我在derby数据库上有一个带有日期参数的报告,当通过两个文本字段发送日期以运行i时,我收到了下面的消息,得到了下面的报价错误消息。 线程“AWT-EventQueue-0”中出现异常Java . lang . classcastexception:Java . lang . string不能转换为net . SF . jasperreports . engine . query . jrjdbc

  • 我是Spring MVC的新手,我正在尝试将javascript中的日期作为请求参数传递 我的控制器看起来像- 我的问题是如何从javascript调用-如URL应该是什么样子 我需要一种方法来解析日期,以便Spring可以识别它吗?

  • 问题内容: 我的服务定义如下。 我正在尝试从客户端(它是CXF的jaxrs:client,而不是通用HTTP客户端或浏览器)传递给它。 我的服务接收的日期与HTTP URL中的一样。由于CXF无法使用此String 创建对象,因此我的客户端收到404错误。我曾尝试在服务端使用a ,但由于无法预期任何特定格式的日期,因此仍然无法成功解析它。 根据这篇文章,传递a 应该是开箱即用的,但是我似乎无法使基

  • 当我传递strDate时,它会抛出java.lang.NullPointerException:尝试在空对象引用上调用虚拟方法'boolean java.lang.String.equals(java.lang.Object)'