错误示例
//错误案例 使用?时,list<long>没法进行正确的转义
@Query(value = "select * from User where Id in (?)", nativeQuery = true)
List<User> userByIds(List<Long> ids);
//sql输出示例 select * from User where Id in ([111, 222])
正确示例
//使用@Param指定 交给JPA自动换义
@Query(value = "select * from User where Id in (:ids)", nativeQuery = true)
List<User> listByStageIds(@Param("ids") List<Long> ids);
//sql输出示例 select * from User where Id in (111, 222)
本文介绍了在使用Java持久化API (JPA) 进行数据库查询时如何正确地使用参数化查询。通过对比错误和正确的示例,展示了如何避免SQL注入风险并确保查询语句的正确性。

1544

被折叠的 条评论
为什么被折叠?



