如何在JPA / Play Framework中的LIKE子句中使用百分比?

时间:2012-08-16 12:18:35

标签: hibernate jpa playframework playframework-1.x

我想找到其电子邮件中包含字符串middle的所有用户。

以下代码失败 - 似乎JPA无法将?识别为参数,因为它用引号括起来。

List<User> users = User.findAll("email like '%?%'", middle);

以下代码有效,但对SQL注入是开放的:

List<User> users = User.findAll("email like '%" + middle + "%'");

你会建议什么?

1 个答案:

答案 0 :(得分:2)

尝试将字符串操作移动到Java端,并保留SQL参数:

List<User> users = User.findAll("email like ?", "%"+middle+"%");