2

JProfiler を使用してアプリケーションをプロファイリングしているときに、Db の各レコードに対して 2 つのエンティティ インスタンスが表示されます。

たとえば、Global_message が私のテーブル名で、20 個のレコードがあるとします。マップされた JPA エンティティは、Jprofiler で 40 個のインスタンス [2 クラス] を示します。

誰かがこれを手伝ってくれますか?これは予想される動作ですか?

サーバーの起動時にすべてのテーブルをキャッシュにロードしていますが、サーバーの起動時にこの動作が見られます。

4

1 に答える 1

2

それは完全に正常です。Hibernateは、アプリケーションによって操作されているエンティティインスタンスがダーティであるかどうかを確認するために他のインスタンスを必要とします(変更されていますか)。セッションがフラッシュされると、Hibernateは他のインスタンスに対して可能な変更をチェックします。ダーティチェックの詳細については、この質問に適切な回答があります。

于 2012-11-29T19:57:38.017 に答える