2

休止状態 3.2.5 を使用しています。hibernate.jdbc.batch_size休止状態構成ファイル内のステートメントの正確な使用/意味は何ですか?

ドキュメントから、バッチ処理の構成にこの行を追加する必要があることがわかります。それ以外の場合、バッチ処理はデフォルトで無効になっています。それとは別に、上記の行を番号に割り当てる具体的な理由は何ですか?

それを 30 に割り当てると (想定)、バッチが最大 30 行で挿入/更新/削除できるようになるわけではありません。ローカルでこのことをテストしました。それでは、これに割り当てた番号は何に使用されるのでしょうか?

これについて教えてください。

よろしく、

4

2 に答える 2

3

説明するだけです:たとえば、あるエンティティParentがあり、それがone-to-many別のエンティティChildと初期化された関係を持っているとしますlazy

を定義すると、エンティティからエンティティをhibernate.jdbc.batch_size = 30取得しようとすると、一度に30 個のバッチ サイズ、つまり一度にオブジェクトをロードすることを意味します。ChildParent30 Child

たとえばParent has 100 Child、オブジェクトが遅延ロードされた場合、Childオブジェクトを繰り返し処理していると、バックエンドで 4 つのクエリがトリガーされ、子オブジェクトがチャンクでロードされます30, 30, 30 and 10

この助けを願っています!

于 2012-11-05T16:12:35.617 に答える
2

JDBCバッチ更新を使用すると、複数の更新クエリを1つのバッチでデータベースに送信できます。ネットワーク呼び出しの数を減らします。20個のファイルを個別に送信するのではなく、20個のファイルを含む非圧縮のzipをアップロードするものとして表示できます。

于 2012-11-05T18:51:02.253 に答える