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(""));
在类型 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(""));