Hibernate Criteria Api是否完全防止SQL注入

我正在使用Hibernate保护我的网站免受SQL注入。

我听说Hibernate Criteria API比HQL更强大。 Hibernate Criteria Api是否完全防止SQL注入?

是的,它确实。

Criteria API以及HQL或JPQL中的查询参数都会转义参数,并且不会执行恶意SQL。

只有将参数连接到查询中时,才会暴露此漏洞。 然后,任何恶意SQL都会成为您查询的一部分。

编辑 OWASP具有SQL注入预防备忘单 。 使用条件查询等同于防御选项1:使用预准备语句。