JPA 条件表达式替换字符

JPA Criteria Expression Replace Character

在类型 String 中用 * 替换所有 - 我可以写

String firstName = firstName.replaceAll("-", "*");

有没有办法在 Criteria Expression 中做同样的事情?

在将名字与 like 方法中的模式进行比较之前,我需要从名字中删除特殊字符。

我的表情:

Expression<String> firstName = root.get("firstName");
builder.like(firstName, pattern);

感谢@SimonMartinelli 的评论。使用

解决了我的问题
builder.function("REGEXP_REPLACE", String.class, firstName, builder.literal("[^a-zA-Z0-9]+"), builder.literal(""));