1

3.6 から hibernate 4.2.4 にアップグレードした後、遅延コレクションの初期化後にデータベース接続がプールに返されません。その結果、ユーザー数がプール内の接続数を超えると、接続プールがすぐに使い果たされます。同様の症状がHHH-4808に記載されていますが、Hibernate 3.1-3.6 ではこれらの問題は確認されていません。

関連する設定:

hibernate.connection.autocommit=true
hibernate.connection.release_mode=after_transaction

コレクションが初期化された後、開いているトランザクションはありません。そのため、設定に応じて接続を解除する必要があります。

hibernate 3.6 では、接続が解放されました (OneToManyLoader からの ConnectionManager.aggresiveRelease() への間接呼び出しによって)。これは、使用シナリオにとって非常に重要な変更です。この変更は意図的なものでしたか? 設定を組み合わせて古い動作を有効にすることはできますか?

4

1 に答える 1