"отсутствует ключевое слово SET" в hibernateTemplate bulkUpdate - PullRequest
3 голосов
/ 20 марта 2011

Мой 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: обновить пользователя, указать страну = EN, где id= 2343 ORA-00971: отсутствует ключевое слово SET

Кто-нибудь сейчас может решить эту проблему?

Ответы [ 2 ]

0 голосов
/ 03 марта 2015

Кажется, что в Hibernate есть ограничение в отношении массового обновления и неявных / явных объединений.Я нашел решение на http://www.techques.com/question/1-5368522/Why-this-hibernate-template-bulkUpdate-doesn't-work

0 голосов
/ 20 марта 2011

Вы указали диалект оракула в файле hibernate.cfg.xml?Предоставленные вами именованные запросы преобразуются Hibernate в специфичные для БД запросы.Если диалект неправильный, перевод создает SQL, который может быть неправильным для целевой базы данных.

См. Запятую в update User, set?

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...