Java ORM標準JPAプログラミング(1)
[参考講座]金英漢のJava ORM標準JPAプログラミング
Java Persistence API Java陣営のORM技術標準 オブジェクト-リレーションシップマッピング(オブジェクトリレーションシップマッピング) オブジェクトオブジェクト別設計 リレーショナル・データベースリレーショナル・データベース別設計 ORMフレームワークは、中間から をマッピングする.大衆言語の大部分のORM技術は 存在する.
SQL中心の開発からオブジェクト中心の開発まで 生産性 メンテナンス パターン不一致解決 性能 データアクセス抽象化と仕入先独立性 標準
JPAとCRUD:jpaを保存します.persist(member) クエリー:メンバー=jpa.find(memberId) 修正:member.setName(「変更する名前」) :jpaを削除します.remove(member) 既存:フィールドを変更すると、すべてのSQLが を変更します. JPA:フィールドを追加するだけで、SQLはJPA処理
1.メインキャッシュと一致することを確認などのトランザクションで同じエンティティを返す-クエリのパフォーマンスをわずかに向上させる . DB IsolationレベルがRead Commitであっても、アプリケーションは の繰り返し可能なReadを確保できます.
2.書き込み遅延サポート取引
(1) INSERTトランザクションがコミットされるまでINSERT SQLを収集 JDBC BATCH SQL機能を使用して、 SQLを一度に送信 UPDATEは、DELETEによる低(ROW)応答時間を最低 に下げる.トランザクションのコミット時にUPDATE、DELETE SQLを実行し、直ちに をコミット
遅延ロード:オブジェクトの実際の使用時にロード 即時ロード:JOIN SQLを使用して関連オブジェクト に事前に問い合わせる.
✔JPA概要
- ORM ?
-JPAのアプリケーションとJDBC間の動作
-JPA動作
(1)保存
(2)クエリー
-なぜJPAを使うの?
せいさんこうりつ
JPAとCRUD
メンテナンス
JPAの性能最適化機能
1.メインキャッシュと一致することを確認
String memberId = "100";
Member m1 = jpa.find(Member.class, memberId); //SQL
Member m2 = jpa.find(Member.class, memberId); //캐시
println(m1 == m2) //true
->SQLは1回のみ実行2.書き込み遅延サポート取引
(1) INSERT
transaction.begin(); // [트랜잭션] 시작
em.persist(memberA);
em.persist(memberB);
em.persist(memberC);
//여기까지 INSERT SQL을 데이터베이스에 보내지 않는다.
//커밋하는 순간 데이터베이스에 INSERT SQL을 모아서 보낸다.
transaction.commit(); // [트랜잭션] 커밋
(2) UPDATEtransaction.begin(); // [트랜잭션] 시작
changeMember(memberA);
deleteMember(memberB);
비즈니스_로직_수행(); //비즈니스 로직 수행 동안 DB 로우 락이 걸리지 않는다.
//커밋하는 순간 데이터베이스에 UPDATE, DELETE SQL을 보낸다.
transaction.commit(); // [트랜잭션] 커밋
3.遅延ロード遅延ロード
Reference
この問題について(Java ORM標準JPAプログラミング(1)), 我々は、より多くの情報をここで見つけました https://velog.io/@yulhee741/자바-ORM-표준-JPA-프로그래밍1テキストは自由に共有またはコピーできます。ただし、このドキュメントのURLは参考URLとして残しておいてください。
Collection and Share based on the CC Protocol