hibernateTemplate bulkUpdate上“缺少SET关键字”

时间:2011-03-20 09:15:43

标签: java hibernate spring

我的namedQuery:

@NamedQuery(name = "myUpdate", query = "update User set country = 'EN' where user.id = ?")

在服务层:

Query query = sessionFactory.getCurrentSession.getNamedQuery("myUpdate");
getHibernateTemplate.bulkUpdate(query.getQueryString(), id);

我收到错误:

Hibernate:更新用户,设置country = EN,其中id = 2343 ORA-00971:缺少SET关键字

现在有人怎么解决这个问题?

2 个答案:

答案 0 :(得分:0)

您是否在hibernate.cfg.xml文件中指定了oracle dialect?您提供的命名查询由Hibernate转换为特定于数据库的查询。如果方言错误,则翻译会生成SQL,这可能是目标数据库的错误。

请参阅update User, set中的逗号?

答案 1 :(得分:0)

似乎Hibernate在批量更新和隐式/显式连接方面存在限制。 我找到了一个解决方案 http://www.techques.com/question/1-5368522/Why-this-hibernate-template-bulkUpdate-doesn“叔工作