Как изменить длину столбца с помощью HQL-запроса? - PullRequest
0 голосов
/ 17 мая 2010

Я пытался session.createSQLQuery("ALTER TABLE People MODIFY address VARCHAR(1000);").executeUpdate();

но это бросает org.hibernate.exception.SQLGrammarException: could not execute native bulk manipulation query

После долгих поисков в Google рекомендуется использовать HQL вместо SQL-запросов для массовых обновлений Не уверен, как использовать HQL для этого. Кажется, нет достойной документации HQL для обновления длины столбца в таблице.

Большое спасибо за помощь.

Ответы [ 2 ]

0 голосов
/ 17 августа 2010

Я не мог найти способ. Похоже на ограничение. Я добавил новое поле и скопировал данные из старого поля при запуске!

0 голосов
/ 19 мая 2010

Я предлагаю вам выполнить этот собственный запрос SQL через session.connection().

См. Раздел 16.2.2.1. Правила / ограничения для использования хранимых процедур из Глава 16. Собственный SQL , он близок к вашему ALTER запросу.

Все остальное зависит от поставщика вашей базы данных. Удачи!

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