使用Hibernate查询更新表中的单列字段

时间:2017-03-03 21:30:29

标签: java sql hibernate

我正在尝试使用Hibernate更新表中的单个值(不更新任何其他值)。

这是我的代码:

@Override
public void updateUser(User userDetails){
Query query = session.createQuery("UPDATE User u set u.balance = :balanceValue where u.userId = :userIdValue AND c.userType = :userTypeValue");
query.setParameter("balanceValue", userDetails.getBalance());
query.setParameter("userIdValue", userDetails.getUserId());
query.setParameter("userTypeValue", userDetails.getUserType());
query.executeUpdate();
}

请注意,我插入的所有参数都是String。列u.userType和u.userId是复合键。

  

引起:java.sql.SQLException。关键字附近的语法不正确   " IN"

我花了好几个小时来理解这个查询的错误。我正在使用"用户"实体用于保存,更新标准(写入所有字段)和删除行没有任何问题。提前感谢您的帮助。

0 个答案:

没有答案