DB - 2


Section 1. JPA


1. JPA (Java Persistence API)
Javaオブジェクトとリレーショナル・データベース間のORMテクノロジー基準のマッピング
  • は従来の重複コードだけでなく、基本的なSQLもJPA自身が作成した
  • です.
  • SQLとデータ中心の設計->オブジェクト中心の設計
  • インタフェース(=技術標準)、実際の実施対象はHibernate等の
  • を含む.
    2.JPA優先パラメータ
  • JPAライブラリ
  • を追加
    // jdbc 도 포함하고 있음
    implementation 'org.springframework.boot:spring-boot-starter-data-jpa'
  • プロパティの追加
    -show-sql:JPA生成のSQL出力.
    -dl-ddl-auto:テーブルを自動的に作成します(createが指定されている場合は、テーブルも自動的に作成されます).
  • 3.JPA Entityの指定
    指定
  • @Entity Annotation
  • Id=プライマリ・キー、GenerateValue=DB自動生成値、IDENTITY=ID
  • Column Annotation値に一致するカラム
  • @Columnにマッピング
  • 4.JPA Repositoryの作成
  • Entity Managerオブジェクト(Spring Boot自動作成bean)を使用
  • 5.挿入機能
  • メンバーオブジェクトに存在するid、name値をマッピングしてワークフローとして保存
  • 6.select機能
  • findメソッド
  • を使用
  • Member.classなどのエンティティオブジェクトのクラスを指定する
  • メンバーm=メンバーas m(別名)
  • :name部分マッピングsetParameter値
  • 7.その他の設定
  • サービスオブジェクトの指定@Transactional Annotation
  • @Transactional // JPA 사용시에 필수 어노테이션 설정
    public class MemberService {...}
  • プロファイルからRepositoryインプリメンテーション
  • を変更
    private EntityManager em;
    
    @Bean
    public MemberRepository memberRepository() {
    	JdbcTemplateMemberRepository(dataSource);
            return new JpaMemberRepository(em);
    }
    8.Hibernate SQLクエリー
  • 会員登録の場合、INSERTクエリはJPAにより生成され送信される
  • Section 2. Spring Data JPA


    1. Spring Data JPA
    JPAを開発者が使いやすいように抽象化するレポートインタフェースを提供する

    2. Spring Data JPA Repository
  • Jpa Repositoryによって継承されたSpringDataJpaMemberRepositoryインタフェースは、自動的にインプリメンテーションとして作成され、beanは
  • に登録されています.
  • Jpa Repository
  • エンティティオブジェクトも
  • を継承する.
  • findByName()は、findByEmail()のように、メソッド名のみを使用してクエリー機能を提供します(プロジェクトに名前を付けます).
  • 3.プロファイル
    自動生成
  • のJpa Repository自動@Autowired DIを実現
  • 4.Spring Data JPA Repositoryインタフェース
  • CRUDオペレーションなどの汎用データベースアクセスとオペレーション抽象メソッド
  • が存在する.
  • 開発者のプロジェクトのメソッド名の指定