Spring JPA - Подготовленные запросы заявления? - PullRequest
0 голосов
/ 04 февраля 2020

Я создаю серверное приложение Spring REST и выполняю некоторые собственные запросы для извлечения данных из моей базы данных. Начиная с преподавания в школе, они предлагают делать все запросы подготовленными утверждениями, чтобы пользователь не вводил вредные SQL в поля ввода.

Я пытался провести какое-то исследование, но не нашел конкретного ответ. Использует ли Spring подготовленные операторы по умолчанию? Вот фрагмент одного из запросов, которые я хотел бы санитизировать:


   @Query(value = "DELETE FROM userMeds WHERE username = ?1 AND drug_id = ?2", nativeQuery = true)
    void deleteByIdentity(String username, int drug_id);

Если для этого не используется подготовленное утверждение, как я могу это сделать, чтобы избежать чего-то плохого?

Заранее спасибо

1 Ответ

1 голос
/ 04 февраля 2020

Подготовленный оператор помогает избежать sql инъекций.

Что касается пружинных данных, то jpa принимает параметризованные по умолчанию либо xml, @NamedQuery или @Query, поэтому не нужно беспокоиться.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...