[Spring]JPA、永続コンテキスト、メインキャッシュ、書き込み遅延📙
持続性コンテキスト
アプリケーションとデータベースの間にオブジェクトを格納する論理概念
Entity Managerによる永続性コンテキストへのアクセス
持続性コンテキストの利点
1.メインキャッシュ/エンティティの一貫性の確保
持続性コンテキストは内部にキャッシュを有し、エンティティは(id,instance)のマッピング形式で格納される.
メンバーが
2.書き込み遅延サポート取引
transaction.begin();
em.persist(memberA);
em.persist(memberB);
// ---- 1 ----
em.flush();
// ---- 2 ----
transaction.commit();
1の領域ではINSERT QUERYがDBに直接送信されるはずです.ただし、sqlクエリを直接送信したり、後で遅延したりすることができます.
クエリは
memberaがコンテキストに永続化されると、まずプライマリ・キャッシュに格納され、SQLバッファにクエリーが格納されます.
memberbも同様にプライマリキャッシュとして格納され、クエリはSQLバッファに格納される.
その後、コマンドcommitトランザクションまたはバッファをコンテキスト(flush)に空にすると、バッファのクエリーはDBに移動します.
Reference
この問題について([Spring]JPA、永続コンテキスト、メインキャッシュ、書き込み遅延📙), 我々は、より多くの情報をここで見つけました https://velog.io/@daydream/Spring-JPA-영속성-컨텍스트-1차-캐시-쓰기-지연テキストは自由に共有またはコピーできます。ただし、このドキュメントのURLは参考URLとして残しておいてください。
Collection and Share based on the CC Protocol