繁体   English   中英

Hibernate和SQL注入

[英]Hibernate and SQL injection

我已经看到一些主题通过命名参数讨论防止SQL注入的问题,但是hibernate语句如何

currentSession().update(object);

要么

currentSession().save(object)

这些安全吗? 或者总是使用命名参数更安全

currentSession().createQuery("update Object set field=:field where id=:id").setParameter("field", field).setParameter("id", id).executeUpdate()

它们是安全的,Hibernate使用实体CRUD语句的绑定变量。 为每个实体缓存语句,以避免每次需要时创建它们,并且在执行时仅提供绑定的变量值。

您可以启用S​​QL日志记录来检查生成的SQL。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM