0

アプリケーション用のデータベース アダプターを開発するために、デスクトップで Hibernate + HSQLDB を使用しています。従来の理由から、ID はアプリケーションによって文字列として生成されます。その時、すべてがうまくいっていました。

これで、100 万を少し超えるレコードを含む本番前のデータベースができました。Hibernate側でいくつかの変更(識別子が長すぎるなど)を行う必要がありましたが、大きなことは何もありませんでした。

つまり、この問題に到達するまで。本番前のサーバーでアプリケーションを起動しようとすると、Hibernate が無数のクエリを作成し始め、最終的には OutOfMemoryError: Java ヒープ スペースになります。ヒープの最大値を増やしても効果がありません。

C3PO キャッシュ設定を無効にし、hibernate.hbm2ddl.auto を無効にしました。これらのクエリを作成する理由がわかりません。また、それらを無効にする方法もわかりません。

誰でも私を助けることができますか??????

4

1 に答える 1

1

Hibernate に熱心にフェッチするように指示しました。したがって、最初のオブジェクトをロードすると、Hibernate は関連するすべてのオブジェクトもフェッチし始めます。

不要なリレーションはすべて に設定する必要がありますfetch=LAZY

于 2009-10-19T08:36:18.470 に答える