JPL:javax.persistence.Query.setParameter sql注入安全吗?

JPL:javax.persistence.Query.setParameter sql注入安全吗?,sql,sql-injection,jpl,Sql,Sql Injection,Jpl,我可以sql注入由setParameter设置的jpl参数吗? 我是说,如果我有这样的东西,我知道我可以做到: String nm = "'anything' or 'x'='x'--"; Query m = em.createQuery("SELECT p FROM Tbl p WHERE UPPER(p.name) = '" + nm + "'"); 我能做类似的事情吗 String nm = "'anything' or 'x'='x'--"; Query m = em.creat

我可以sql注入由setParameter设置的jpl参数吗? 我是说,如果我有这样的东西,我知道我可以做到:

String nm = "'anything' or 'x'='x'--";
Query m = em.createQuery("SELECT p FROM Tbl p WHERE UPPER(p.name) = '" + nm + "'");
我能做类似的事情吗

String nm = "'anything' or 'x'='x'--";
   Query m = em.createQuery("SELECT p FROM Tbl p WHERE UPPER(p.name) = :param").setParameter("param", nm.toUpperCase());

似乎它是sql注入安全的。 我查看了sql查询日志:结果sql中转义了潜在危险的符号