0
我想將值更新爲用戶輸入的特定列。這裏是我的代碼,做任何人如何修改它來糾正一個?根據列名稱進行JPA更新
public void updateValue(String value, String id, String ww){
Query q = em.createQuery("Update TableA e SET e.?1 = ?2 WHERE e.num = ?3");
q.setParameter(1, ww); //since has many columns, user require to specific column to update
q.setParameter(2, value);
q.setParameter(3, id);
q.executeUpdate();
}
感謝,但我已經弄清楚如何做到這一點,我只是創建簡單的字符串。 String s =「更新表格SET e。」 + ww +「=?1」+「WHERE e.num =」+ id;然後把em.createQuery(s),這是工作。 – helloworld1234
@ChongZhengLun不會確保您使用'+'添加的值是預先過濾的列表之一。你所做的是一個可能危及整個數據庫的重大安全風險。 – coladict