JPA/Hibernate: Как да използвам INSERT JPQL?

Този JPQL

em.createQuery("INSERT INTO Count (id, count) SELECT 1, ?").setParameter(1, id).executeUpdate();

хвърля

org.hibernate.hql.internal.ast.QuerySyntaxException: expecting OPEN, found ')' near line 1, column 29 [INSERT INTO Count (id, count) SELECT 1, ?]

Как трябва да изглежда запитването?

Има ли значение, че използвам JPA API, но всъщност HQL? JPQL не поддържа INSERT.

Използване на Hibernate 4.1.6 в JBoss AS 7.1.2.
Справка: http://docs.jboss.org/hibernate/orm/4.1/devguide/en-US/html/ch11.html#d5e2637


person Ondra Žižka    schedule 31.01.2013    source източник


Отговори (1)


Тъй като count е запазена дума, добавянето на квадратни скоби около нея като [count] ще работи.

person Mukus    schedule 31.01.2013
comment
Вероятно сте прав, но [] не работи и не мога да намеря как да избягам от тази ключова дума... - person Ondra Žižka; 31.01.2013
comment
Тогава това зависи от доставчика на база данни. - person Mukus; 31.01.2013
comment
Мисля, че не, тъй като това е свойство на обект, а не име на колона. Създадено stackoverflow.com/questions/14619630/ . - person Ondra Žižka; 31.01.2013