如何使用HQL查询更改列长度?

时间:2010-05-17 05:44:37

标签: sql schema hql bulk

我尝试了session.createSQLQuery("ALTER TABLE People MODIFY address VARCHAR(1000);").executeUpdate();

但这会引发org.hibernate.exception.SQLGrammarException: could not execute native bulk manipulation query

经过大量的谷歌搜索后,建议使用HQL而不是SQL查询来进行批量更新。不确定如何使用HQL来实现这一目标。似乎没有合适的HQL文档来更新表中的列长度。

非常感谢您的帮助。

2 个答案:

答案 0 :(得分:0)

我建议您通过session.connection()运行此本机SQL查询。

请参阅16.2.2.1. Rules/limitations for using stored procedures Chapter 16. Native SQL 部分,它位于 ALTER 查询附近。

所有其他内容取决于您的数据库供应商。祝你好运!

答案 1 :(得分:0)

我找不到办法。看起来像一个限制。我添加了一个新字段,并在启动时复制旧字段中的数据!