我正在使用hibernate,我需要替換此查詢以刪除SQL注入。SQL注入休眠
strQry = "FROM xxxx bob WHERE bob.brkxxxId ='" + brkxxxId + "' AND bob.xxxUser ='" + loginUserxxxId + "'";
i = session.delete(strQry);
我改寫了這個查詢是這樣的:
session = getSession();
strQry = "FROM xxxxbob bob WHERE bob.brkxxxId = :param1 AND bob.xxxUser = :param2";
Query bobQuery = session.createQuery(strQry);
bobQuery.setParameter("param1", brkxxxId);
bobQuery.setParameter("param2", xxxUserTaxId);
java.util.List bobList = bobQuery.list();
java.util.Iterator bobI1 = bobList.listIterator();
while (bobI1.hasNext()){
mapCache = (BOBMapCache) bobI1.next();
session.delete(mapCache);
}
其選擇列表時,即使該數據庫包含的值返回null。我不知道什麼是錯的。照看
,爲什麼你不能說 '刪除鮑勃其中bob.brkid = ...' 這樣嗎? http://docs.jboss.org/hibernate/orm/3.3/reference/en-US/html/batch.html#batch-direct – Zeus
@Zeus我已經檢查過了。但hibernate2中沒有exexuteUpdate()命令 – Arun