JPA - 过滤器 MySQL DOUBLE (6,2) with LIKE of CriteriaQuery

JPA - Filter MySQL DOUBLE (6,2) with LIKE of CriteriaQuery

我想使用 CriteriaQuery 的 LIKE 函数从我的数据库中过滤一个 DOUBLE (6,2) 值。但它抛出一个异常:

Internal Exception: java.sql.SQLSyntaxErrorException: No authorized routine named 'LIKE' of type 'FUNCTION' having compatible arguments was found.

代码:

    stundensatz.ifPresent(s -> criteriaQuery.where(criteriaBuilder.like(mitarbeiter.get("stundensatz"), "%" + s + "%")));

"Stundensatz"表示小时费率。我对 INTEGER 做了同样的事情,效果很好。如何用 LIKE 过滤 DOUBLE?我真的需要帮助。我在这里找不到关于此的任何文章。我试图将 mitarbeiter.get("stundensatz") 转换为字符串或整数,但这没有用。

提前谢谢你。 sven_meye

我可以像这样使用 like 函数处理数字:

Expression plzInt = kategorie.get("nummer");
Expression plzStr = criteriaBuilder.function("CHAR", String.class, plzInt);
predicates.add(criteriaBuilder.like(criteriaBuilder.upper(plzStr), "%" + nummer.trim().toUpperCase() + "%"));