0

私は試したsession.createSQLQuery("ALTER TABLE People MODIFY address VARCHAR(1000);").executeUpdate();

しかし、これはスローしますorg.hibernate.exception.SQLGrammarException: could not execute native bulk manipulation query

多くのグーグルの後、SQLクエリの代わりにHQLを使用して一括更新を行うことをお勧めします。これを達成するためにHQLを使用する方法がわからない。テーブルの列の長さを更新するための適切なHQLドキュメントはないようです。

助けてくれてありがとう。

4

2 に答える 2

0

道が見つかりませんでした。制限のようです。起動時に新しいフィールドを追加し、古いフィールドからデータをコピーしました。

于 2010-08-17T08:03:11.550 に答える
0

経由でこのネイティブ SQL クエリを実行することをお勧めしますsession.connection()

セクション16.2.2.1 を参照してください。Chapter 16. Native SQLのストアド プロシージャを使用するためのルール/制限事項、それはALTERクエリの近くにあります。

残りはすべて、データベース ベンダーによって異なります。幸運を!

于 2010-05-19T14:25:39.730 に答える