Java &引用;缺少集合关键字";关于hibernateTemplate更新

Java &引用;缺少集合关键字";关于hibernateTemplate更新,java,hibernate,spring,Java,Hibernate,Spring,我的名字查询: @NamedQuery(name = "myUpdate", query = "update User set country = 'EN' where user.id = ?") 在服务层: Query query = sessionFactory.getCurrentSession.getNamedQuery("myUpdate"); getHibernateTemplate.bulkUpdate(query.getQueryString(), id); 我得到一个错误:

我的名字查询:

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

Query query = sessionFactory.getCurrentSession.getNamedQuery("myUpdate");
getHibernateTemplate.bulkUpdate(query.getQueryString(), id);
我得到一个错误:

休眠:更新用户,设置country=EN,其中id=2343 ORA-00971:缺少集合关键字


现在有人知道如何解决这个问题了吗?

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


请参见
更新用户,set

中的逗号。似乎Hibernate在批量更新和隐式/显式联接方面存在限制。 我找到了一个解决办法
“t-work”

1。我将hibernate方言设置为org.hibernate.dialogue.oraclealtypal。我看到一个逗号。我不知道去哪里。你觉得怎么样,逗号在哪里?我在Hibernate 4中遇到了同样的问题,我确实指定了
。在persistence.xml中。无法打开提到的链接。你能把它作为答案贴在这里吗?嗨,我帮不了你。这对你有帮助吗?我也面临同样的问题。你修好了吗?可能是重复的我已经把它标记为重复的,因为我在下面找到了答案: