Я использую очередь JMS для чтения и вставки данных в таблицу postgres, созданную grails. Проблема заключается в получении следующего значения последовательности. Я думал, что нашел решение с помощью следующего утверждения (поставив «DEFAULT», куда должен идти идентификатор), но оно больше не работает. Должно быть, я что-то изменил, потому что мне нужно было воссоздать таблицу. Какой лучший способ обойти эту проблему?
ps = c.prepareStatement ("INSERT INTO xml_test (id, версия, xml_text)
VALUES (DEFAULT, 0,?) ");
ОБНОВЛЕНИЕ:
В ответ на предложенное решение я сделал следующее:
Добавлено в домен:
class XmlTest {
String xmlText
static constraints = {
id generator:'sequence', params:[name:'xmltest_sequence']
}
}
И изменил оператор вставки следующим образом:
ps = c.prepareStatement("INSERT INTO xml_test (id, version, xml_text)
VALUES (nextval('xmltest_sequence'), 0, ?)");
Однако, когда я запускаю инструкцию, я получаю следующую ошибку:
[java] 1 org.postgresql.util.PSQLException: ОШИБКА: отношение "xmltest_sequence" не существует
Есть мысли?