我的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 =2343ORA-00971:缺少设置关键字
现在的任何人如何解决这个问题?
发布于 2011-03-20 17:39:24
您是否在hibernate.cfg.xml文件中指定了oracle方言?Hibernate会将您提供的命名查询转换为特定于DB的查询。如果方言是错误的,则翻译生成的SQL对于目标数据库可能是错误的。
请参阅update User, set中的逗号
发布于 2015-03-03 21:57:15
似乎Hibernate在批量更新和隐式/显式连接方面存在限制。我在http://www.techques.com/question/1-5368522/Why-this-hibernate-template-bulkUpdate-doesnt-work找到了一个解决方案
https://stackoverflow.com/questions/5367633
复制相似问题