java - 搜索日期时 JPA creteria 出现问题

标签 java spring-boot spring-data-jpa criteria

我在执行条件查询时遇到问题。 我有 dateProperty 类型 Date 的联系人类

        java.util.Date date1=new java.util.Date(); 
        contactSpecification.add(new SearchCriteria(column, date1 , SearchOperation.GREATER_THAN));
        Page<Contact> msTitleList = contactrepository.findAll(contactSpecification,pageable);
        return msTitleList;

错误:

         ERROR 15464 --- [nio-8080-exec-6] o.a.c.c.C.[.[.[/].[dispatcherServlet]    : Servlet.service() for servlet [dispatcherServlet] in context with path [] threw exception [Request processing failed; nested exception is org.springframework.dao.InvalidDataAccessApiUsageException: Parameter value [Wed May 06 11:37:04 CEST 2020] did not match expected type [java.util.Date (n/a)]; nested exception is java.lang.IllegalArgumentException: Parameter value [Wed May 06 11:37:04 CEST 2020] did not match expected type [java.util.Date (n/a)]] with root cause

java.lang.IllegalArgumentException: Parameter value [Wed May 06 11:37:04 CEST 2020] did not match expected type [java.util.Date (n/a)]
    at org.hibernate.query.spi.QueryParameterBindingValidator.validate(QueryParameterBindingValidator.java:54) ~[hibernate-core-5.4.10.Final.jar:5.4.10.Final]
    at org.hibernate.query.spi.QueryParameterBindingValidator.validate(QueryParameterBindingValidator.java:27) ~[hibernate-core-5.4.10.Final.jar:5.4.10.Final]
    at org.hibernate.query.internal.QueryParameterBindingImpl.validate(QueryParameterBindingImpl.java:90) ~[hibernate-core-5.4.10.Final.jar:5.4.10.Final]
    at org.hibernate.query.internal.QueryParameterBindingImpl.setBindValue(QueryParameterBindingImpl.java:55) ~[hibernate-core-5.4.10.Final.jar:5.4.10.Final]
    at org.hibernate.query.internal.AbstractProducedQuery.setParameter(AbstractProducedQuery.java:489) ~[hibernate-core-5.4.10.Final.jar:5.4.10.Final]
    at org.hibernate.query.internal.AbstractProducedQuery.setParameter(AbstractProducedQuery.java:110) ~[hibernate-core-5.4.10.Final.jar:5.4.10.Final]
    at org.hibernate.query.criteria.internal.compile.CriteriaCompiler$1$1.bind(CriteriaCompiler.java:135) ~[hibernate-core-5.4.10.Final.jar:5.4.10.Final]
    at org.hibernate.query.criteria.internal.CriteriaQueryImpl$1.buildCompiledQuery(CriteriaQueryImpl.java:360) ~[hibernate-core-5.4.10.Final.jar:5.4.10.Final]
    at org.hibernate.query.criteria.internal.compile.CriteriaCompiler.compile(CriteriaCompiler.java:165) ~[hibernate-core-5.4.10.Final.jar:5.4.10.Final]
    at org.hibernate.internal.AbstractSharedSessionContract.createQuery(AbstractSharedSessionContract.java:735) ~[hibernate-core-5.4.10.Final.jar:5.4.10.Final]
    at org.hibernate.internal.AbstractSessionImpl.createQuery(AbstractSessionImpl.java:23) ~[hibernate-core-5.4.10.Final.jar:5.4.10.Final]
    at sun.reflect.GeneratedMethodAccessor103.invoke(Unknown Source) ~[na:na]
} else if (criteria.getOperation().equals(SearchOperation.LESS_THAN)) {
                predicates.add(builder.lessThan(
                        root.get(criteria.getKey()), criteria.getValue().toString()));
```

最佳答案

它解决了我只需解析它到目前为止

关于java - 搜索日期时 JPA creteria 出现问题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/61634368/

相关文章:

java - 无法找到元素 [bean] 的 BeanDefinitionParser

spring - 如何从 application.properties 中读取并在 Spring Batch 中设置为作业参数

java - 为歌曲表 : Spring boot, postgres 编写模型类

java - Spring CrudRepository保存方法的自定义返回类型(动态投影)

mysql - Spring JPA : Multiple Aurora RDS MySQL operation is taking too much time

java - JPA - EntityManagerFactory 指向本地主机

Java - 无法执行一系列 1-7 中的最后一个 if 语句

java:关于txt文件中的计数

java - 可以使 Optional 的这种用法更具功能性吗

java - Spring boot 无法解析占位符 application.yml