Я использую Java + Hibernate + MariaDB и у меня есть вопрос о передовой практике.
Если вы хотите выполнить этот запрос:
UPDATE Pics SET views = 0 WHERE id=:id_pic;
Я использую это в своем коде Java:
Transaction tx = session.getTransaction();
try {
tx.begin();
NativeQuery query = session.createNativeQuery("UPDATE Pics SET views = 0 WHERE id=:id_pic");
query.setParameter("id_pic", id_pic);
result = query.executeUpdate();
tx.commit();
}
// Exceptions stuff...
Как видите, я использую параметр id_pic, чтобы избежать проблем с безопасностью.Мой вопрос заключается в том, что если мне нужно использовать параметры, когда я использую фиксированные переменные , такие как 0, который появляется в запросе (это всегда должно быть 0, это метод сброса).Я имею в виду, должен ли я использовать следующий запрос или приведенный выше?:
NativeQuery query = session.createNativeQuery("UPDATE Pics SET views=:views WHERE id=:id_pic");
query.setParameter("id_pic", id_pic);
query.setParameter("views", String.valueOf(0));
result = query.executeUpdate();
Спасибо!