gpt4 book ai didi

java - JPA根据列名更新

转载 作者:行者123 更新时间:2023-12-01 21:17:21 26 4
gpt4 key购买 nike

我想将值更新为用户输入的特定列。这是我的代码,有人知道如何修改它来纠正它吗?

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();
}

最佳答案

您应该针对您的案例进行条件构建器查询...如果您使用的是 JPA 2.1..这是您应该做的事情

public void updateValue(String value, String id, String ww){  
CriteriaBuilder cb = this.em.getCriteriaBuilder();

// create update
CriteriaUpdate<TableAEntity> update = cb.
createCriteriaUpdate(TableAEntity.class);

// set the root class
Root e = update.from(TableAEntity.class);

// set update and where clause
update.set(ww, value);
update.where(cb.equalTo(e.get("num"),
id));

// perform update
this.em.createQuery(update).executeUpdate();
}

关于java - JPA根据列名更新,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/39783145/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com