Springの@Queryアノテーションに渡された文字列のパラメーターは、たとえば、PreparedStatementクラスまたはSQLインジェクションを防ぐためのメソッドを使用している場合と同じように、純粋なデータとして扱われますか?
final String MY_QUERY = "SELECT * FROM some_table WHERE some_column = ?1";
@Query(value=MY_QUERY, nativeQuery = true)
List<SomeEntity> findResults(String potentiallyMaliciousUserInput);
ボトムライン:上記のコードはSQLインジェクションの影響を受けやすいですか?
SpringDataの@Query
はJPAの単なるラッパーのようです
これを参照してくださいSO回答: JPAでSQLインジェクション攻撃は可能ですか?
クエリでは、文字列の連結(SQLインジェクションに対して脆弱)の代わりにバインド変数を使用するため、SQLインジェクションの脆弱性に関してあなたの例は保存されていると思います。