JPA勉强スタート!
JPAが現れた原因
オブジェクトをJavaコレクションに格納するようにDBに格納できますか?JPAへの苦悩
出てくる過程:EJB-図元彬(Java標準)-->高保真(オープンソース)-->JPA(Java標準)
使用理由:SQLを中心とした開発において、対象を中心とした開発、生産性、メンテナンス、パターン不一致の解決、パフォーマンス、データアクセスの抽象化、ベンダーの独立性
JPAとは?
Java Persistence APIはJavaのORM技術標準である
JPAはインタフェースの集合であり,JPA 2.1規格を実装する3つの実装はHibernate,EclipseLink,DataNucleusである.
ORM?
オブジェクト-リレーショナル・マッピング(Object Relational Mapping)オブジェクト別、リレーショナル・データベース別
ORMフレームワークは両方を中間にマッピングします
JPAの行為
->JPA JavaアプリケーションとJDBCの間で動作
ちょぞう
朝礼
JPAの長所
1.生産性
簡単に言えば、
保存:jpa.persist(member)
クエリー:Membermember=jpa.find(memberId)
修正:member.setName(「変更する名前」)
削除:jpa.remove(member)
2.メンテナンス
以前はフィールド変更時に使用したすべてのSQLを変更する必要がありましたが、JPAを使用するときにフィールドを追加するだけです.SQLはJPAで処理
追加
遅延ロード&即時ロード->JPAの重要な部分で、実際に接触することが多い!自分の都合で使う必要があります!
Member member = memberDAO.find(memberId); //SELECT * FROM MEMBER
Team team = member.getTeam();
String teamName = team.getName(); //SELECT * FROM TEAM
->上記のコードからメンバーオブジェクトを返す場合は、メンバーのみに対してクエリーを実行し、チームオブジェクト値にアクセスしたときにチームに対してクエリーを実行します->2回のクエリが必要
Member member = memberDAO.find(memberId); //SELECT * FROM M.*, T.* FROM MEMBER JOIN TEAM . . .
Team team = member.getTeam();
String teamName = team.getName();
->アプリケーションでメンバーを検索するときにチームと一緒に使用する時間がほとんどの場合、JOINで2つのオブジェクトを1回のクエリーとしてインポートすることは非常に有効です->JPAで提供されるオプションの使用
でもJPAだけが知っているとうまく開発できない!オブジェクトとリレーショナル・データベースを理解します.覚えてろ!
Reference
この問題について(JPA勉强スタート!), 我々は、より多くの情報をここで見つけました https://velog.io/@fordevelop/JPA-공부-시작テキストは自由に共有またはコピーできます。ただし、このドキュメントのURLは参考URLとして残しておいてください。
Collection and Share based on the CC Protocol