HQL Вставить запрос в Grails - PullRequest
       19

HQL Вставить запрос в Grails

1 голос
/ 29 апреля 2010

Я хочу написать запрос на вставку в Grails. Я перепробовал все возможные комбинации, но не могу получить правильный синтаксис. Кто-нибудь может помочь, пожалуйста?

class Person {
    int age
    String name
}

я попробовал следующее:

Person.executeUpdate("insert into Person  values (20,"ABC")")

p.s.: Пожалуйста, не упоминайте использование save ()

Ответы [ 2 ]

5 голосов
/ 30 апреля 2010

Выполнить собственный запрос:

def sql = new Sql(sessionFactory.currentSession.connection())
sql.execute("insert into person values(?,?)", ["foo", "bar"])

обратите внимание, что person - это фактическое имя таблицы.

3 голосов
/ 29 апреля 2010

Это не выглядит возможным. См. http://docs.jboss.org/hibernate/core/3.3/reference/en/html/batch.html#batch-direct и обратите внимание, что в нем говорится: «Поддерживается только форма INSERT INTO ... SELECT ...; не форма INSERT INTO ... VALUES ...» Таким образом, вы можете вставить как выборку из одной или нескольких других таблиц, но не можете вставлять напрямую, как это было бы с save ().

...