2014-01-14 4 views
1

Я получаю эту ошибку, и я не могу понять, есть ли какая-либо ошибка в моем запросе.Hibernate - неожиданный токен: во время обновления

Ошибка:

ОШИБКА: Строка 1: 8: неожиданный маркер: в линии 1: 8: неожиданный знак: в

at org.hibernate.hql.internal.antlr.HqlBaseParser.updateStatement(HqlBaseParser.java:232).......</code> 

Я пытаюсь обновить таблицу HQL после что код:

Query query = session.createQuery("update Order set paymentStatusId = :pid where id = :id"); 
    query.setParameter("pid", paymentStatusId).setParameter("id", orderId); 
query.executeUpdate(); 

Мой POJO ниже:

@Entity 
@Table(name = "\"orders\"") 
public class Order implements Serializable{ 
    //getters-setters 
} 
+0

Может быть, это смешивается класс Order с ключевым словом ORDER – polypiel

+0

@polypiel: я, может быть. Любое обходное решение для этого? – Abhi

ответ

0

Заказ - это зарезервированное слово HQL. Вы можете попробовать изменить название компании или заключив имя лица в скобках (не проверено): http://www.javaplex.com/blog/hibernate-how-to-use-databases-reserved-keywords-in-hql-and-pojos/

+0

Hibernate не позволяет помещать скобки помимо имени сущности в HQL, выдает ошибку. – Abhi

Смежные вопросы