JavaSpring谓词jpa查询问题
我编写了一个谓词查询,用于concat firstname和lastname,并与输入的字符进行比较。但是,我无法得到预期的结果
QUser user = QUser.suer;
BooleanExpression exp = user.isNotNull();
String received = "Jack Jones"
expression = expression.and((userProfile.firstName.toLowerCase().concat(" " + userProfile.lastName.toLowerCase())).like('%'+(received)+'%'));
当我在前端打字时,我没有得到杰克·乔尼斯的记录。需要做些什么来解决这个问题
# 1 楼答案
(Java)表达式
" " + userProfile.lastName.toLowerCase()
调用第二个参数的toString()
方法,生成未定义的固定字符串表达式,而不是动态表达式实际上,您想要实现的是将三个部分连接起来:
最后一行代码应该是这样的: