正如我在很多文章中所读到的,当我使用 JPA/Hibernate 查询时,最好在我的查询中设置参数,这样可以避免 SQL 注入。喜欢:
select user from User user where user.name = :name and user.surname = :surname
我的问题是,在某些情况下,我需要在创建查询时使用本机查询。
我将使用我的实体管理器和createNativeQuery
. 但在这种情况下,参数将是位置的。喜欢:
select * from users where user_name = ? and user_surname = ?
然后在我的查询中,我将使用该方法setParameter(1, "name")
等。那么这种情况是“sql 注入证明”,就像在参数化查询中一样?