相关疑难解决方法(0)

如何使用 JPA Criteria API 搜索字符串的日期字段

这是一个从我这里的另一个问题衍生出来的问题。我认为最好在有人(@Franck)指出这个链接这个链接之后提出一个不同的问题。

我对如何使用 JPA Criteria API 在数据库日期列(在我的例子中是 MySQL DATETIME)中搜索字符串感到困惑

这是我所做的;

CriteriaBuilder cb = em.getCriteriaBuilder();
CriteriaQuery<Client> cq = cb.createQuery(Client.class);
Root<Client> entity = cq.from(Client.class);
cq.select(entity);

List<Predicate> predicates = new ArrayList<Predicate>();
predicates.add(cb.like(cb.lower(entity.get("dateJoined").as(String.class)), "%"+search.toLowerCase()+"%")); 

cq.where(predicates.toArray(new Predicate[]{}));
TypedQuery<Client> query = em.createQuery(cq); //<--- Error gets thrown here
return query.getResultList();
Run Code Online (Sandbox Code Playgroud)

但它失败了,但有以下例外;

java.lang.IllegalArgumentException: Parameter value [%10-2015%] did not
match expected type [java.lang.Character]
Run Code Online (Sandbox Code Playgroud)

10-2015正在搜索的字符串在哪里;

我被困在如何实现这一目标上。我需要帮助。

java mysql jpa

4
推荐指数
1
解决办法
1万
查看次数

标签 统计

java ×1

jpa ×1

mysql ×1