TIL|[Spring]JPAについて


JPA(Java Persistence API)


JPAの概念をマスターする前に、持続性とORMについて理解しておきましょう.

持続性


永続性は、データを生成するプログラムが終了しても消えないデータの特性です.
永続性のないデータはメモリにのみ存在するため、プログラムが終了するとデータが消失するため、ファイルまたは複数のデータベースを使用してデータを永続的に処理できます.
Springでは、データの持続性に使用できる3つの方法があります.
  • (Java) JDBC
  • Spring JDBC
  • Persistence Framework
  • このうちORMはPersistence Frameworkの一種である.

    ORMとは?


    ORM - ObJect Relational Mapping
    (オブジェクトはオブジェクト、リレーショナル・データベースはリレーショナル・データベース)
    オブジェクト(Object)はオブジェクトの言語であり、リレーショナル・データベース(Relational)はリレーショナル・データベースの言語で設計され、その間に翻訳器として機能するのはORMである.

    会社によってはデータベース管理者もいますが、バックエンド開発者が同時にデータベース管理を行い、ORM이 없다면オブジェクト言語で開発するとともに、リレーショナル・データベースで使用されるSQLを使用してデータ管理を行う場合が多いです.
    SQLの作成は難しくありませんが、OracleやMySQLなどのSQL構文が少し異なるか、人間関係のエラーが発生しやすい場合があります.

    JPA


    JPAはJavaで使用されているORMの標準リストです.

    JPAを使用すると、SQLではなくリレーショナル・データベースにデータCRUDを転送できます.
    SQL文は次のとおりです.
    String query = "SELECT * FROM EMPLOYEES WHERE ID = ?;
    Employee employee = jdbdTemplate.queryForObject(
    	query, new Object[] { id }, new EmployeeRowMapper());
    簡単にJava言語で表現できます.
    repository.save(new Employee("James", "Ann");

    + Hibernate


    JPA標準のフレームになる
    (JPAはリストで、Hibernateはリストに忠実なフレームワークです)
    JPAを使用せずにSQLを入力したりSQL Mapperを使用する方法もあります.

    JPAメリットとデメリット


    長所

  • オブジェクト向けコードを使用して直感的なビジネスロジック
  • を作成する.
  • Queryに比べて、
  • は開発に重点を置いています.
  • メンテナンスが容易
    -JPAが無効になっている場合は、DBフィールドの変更時にすべてのSQLを変更する必要があります.
  • 短所

  • プロジェクトのロジックが複雑になると、開発の難易度は
  • 上昇する.
  • 複雑なSQL
  • の実装が困難
  • データベースへの頻繁なアクセスにより、パフォーマンスが低下する可能性があります.

    サマリ


    ORMを用いる
  • データの持続性
  • を実現する.
  • ORMは、オブジェクト言語とSQLの間の翻訳機です.
  • JPAはJava陣営のORM技術標準である
    -SQLなしでオブジェクト言語を使用してデータを加工する