Spring bootで、データベースから条件を絞って検索したいと思い、このサイトを参考に、JPA Specificationを使って実装していました。そして、自分が条件を付けたかったColumnはDate型だったので、
java
1 2/*import java.util.Date; 3import java.sql.Date; 4 どちらでやってみても変わらなかった。 5*/ 6 7 public static Specification<MenuTableData> dateContains(Date date) { 8 return ObjectUtils.isEmpty(date) ? null : (root, query, cb) -> { 9 return cb.like(root.get("dateCol"), "%" + date + "%"); 10 };
このようにしたところ、
Parameter value [2021-07-15 00:00:00] did not match expected type [java.util.Date (n/a)];
とエラーが出てしまいました。java.util.Date型にしろと言われても、
CriteriaBuilderのlikeメソッドの第二引数にDateを配置することはできないので
どうすればよいのかが全く見当がつきません。何がいけないのでしょうか。
丸投げになってしまい申し訳ないですが、何から始めればいいか教えていただきたいです。