0
ユーザーが入力した特定の列に値を更新したいとします。ここで私のコードは、どのように1つを修正するためにそれを修正するか?列名に基づく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();
}
感謝をやるべきことができるものですが、私はすでに把握しますそれを行う方法、私は単純な文字列を作成します。文字列s = "テーブルを更新するe eを設定する" + ww + "=?1" + "どこe.num =" + id; em.createQuery(s)を実行します。 – helloworld1234
@ChongZhengLun '+'で追加している値があらかじめフィルタリングされたリストの1つであることを確認せずにこれを行うことはありません。あなたがやっていることは、データベース全体を危険にさらす可能性のある大きなセキュリティリスクです。 – coladict