2

middleメールのどこかに文字列が含まれているすべてのユーザーを検索したい。

?次のコードは失敗します-引用符で囲まれているため、JPAはパラメータとしてを認識しないようです。

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

次のコードは機能しますが、SQLインジェクションに対応しています。

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

あなたは何を提案しますか?

4

1 に答える 1

2

文字列操作をJava側に移動して、SQLパラメータを保持してみてください。

List<User> users = User.findAll("email like ?", "%"+middle+"%");
于 2012-08-16T12:22:33.797 に答える