JPA条件表达式替换字符

时间:2018-08-03 13:50:45

标签: expression jpa-criteria

在类型String中将所有-替换为*,我可以写

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

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

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

我的表情:

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

1 个答案:

答案 0 :(得分:0)

感谢@SimonMartinelli的评论。我的问题通过使用

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