[英]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語句的綁定變量。 為每個實體緩存語句,以避免每次需要時創建它們,並且在執行時僅提供綁定的變量值。
您可以啟用SQL日志記錄來檢查生成的SQL。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.