1. ホーム
  2. nhibernate

[解決済み】(N)HibernateのFirst LevelキャッシュとSecond Levelキャッシュとは何ですか?

2022-04-19 14:31:09

質問

Hibernate/NHibernateのファーストレベルキャッシングとセカンドレベルキャッシングとは何か、簡単に説明できる方はいらっしゃいますか?

どのように解決するのですか?

1.1) 第一レベルキャッシュ

<ブロッククオート

ファーストレベルキャッシュ で常にアソシエイトします。 セッションオブジェクト . Hibernateは、デフォルトでこのキャッシュを使用します。ここで、それは1つの つまり、1つのトランザクションを何度も処理することはありません。 回です。主にSQLクエリの回数を減らすことができます。 あるトランザクションの中で生成されます。つまり トランザクションで行われるすべての変更に対して、トランザクションを更新します。 トランザクションの終了時のみ

1.2) 第2レベルキャッシュ

第2レベルキャッシュ は常に セッションファクトリーオブジェクト . トランザクションを実行している間、その間に オブジェクトをセッションファクトリーレベルで提供することで、これらのオブジェクトが 一人のユーザーに縛られることなく、アプリケーション全体が利用できるようになります。そのため オブジェクトはすでにキャッシュにロードされているので、オブジェクトが クエリによって返された場合、その時点でデータベースへのアクセスは必要ありません。 トランザクションが発生します。このようにして、第2レベルのキャッシュが機能する。ここで、私たちは クエリレベルキャッシュも

から引用しています。 http://javabeat.net/introduction-to-hibernate-caching/