首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >使用IN -子句的HibernateTemplate bulkUpdate

使用IN -子句的HibernateTemplate bulkUpdate
EN

Stack Overflow用户
提问于 2014-09-15 13:46:53
回答 2查看 2.3K关注 0票数 1

如何使用bulkUpdate执行hibernateTemplate操作。下面的代码抛出

由:org.hibernate.QueryParameterException引起:超过声明序数参数数的位置。记住序数参数是基于1的!职位:2

代码语言:javascript
复制
HibernateTemplate.bulkUpdate("update Address address set address.city = 'Oakland' where address.user in (:users)", users);

如何通过传递用户列表作为参数来实现此批更新操作?

EN

回答 2

Stack Overflow用户

发布于 2015-09-11 07:19:35

这个问题可能与why-this-hibernate-template-bulkupdate-doesnt-work重复。

以上问题的回答可以解决这个问题。希望能帮上忙。快乐学习:)

票数 0
EN

Stack Overflow用户

发布于 2017-03-14 12:08:09

它很奇怪,我搜索了很多,也找不到解决方案,医生说它是绑定数的值“?查询字符串中的参数,但当我将list作为参数提供时,它并不是将in子句绑定为string。因此,我以字符串的形式提供了一个变通的参数:

代码语言:javascript
复制
StringBuilder inClauseparams = new StringBuilder("(");
    for (int i = 0; i < notificationIDs.size(); i++) {
        inClauseparams.append(""+notificationIDs.get(i));
        if( i != notificationIDs.size()-1 )
            inClauseparams.append(",");
        else
            inClauseparams.append(")");
    }
    hibernateTemplate.bulkUpdate("update Notification set isSeen = true where id in "+inClauseparams.toString());
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/25849605

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档