我想找到其电子邮件中包含字符串middle
的所有用户。
以下代码失败 - 似乎JPA无法将?
识别为参数,因为它用引号括起来。
List<User> users = User.findAll("email like '%?%'", middle);
以下代码有效,但对SQL注入是开放的:
List<User> users = User.findAll("email like '%" + middle + "%'");
你会建议什么?
答案 0 :(得分:2)
尝试将字符串操作移动到Java端,并保留SQL参数:
List<User> users = User.findAll("email like ?", "%"+middle+"%");