| ページ一覧 | ブログ | twitter |  書式 | 書式(表) |

MyMemoWiki

Java EE JPA

提供: MyMemoWiki
2020年2月15日 (土) 08:03時点におけるPiroto (トーク | 投稿記録)による版
ナビゲーションに移動 検索に移動

Java EE JPA

概要

  • JPAはJDBCの上位層に抽象層として設けられ、SQLとの依存関係を解消
  • javax.persistence パッケージに含まれる

主要コンポーネント

ORM

  • オブジェクトとリレーショナルデータベースのデータをマッピング

エンティティ・マネージャーAPI

  • エンティティのCRUD操作

JPQL(Java Persistence Query Language)

  • オブジェクト指向のクエリ言語でデータを取得

トランザクションとロック

  • Java トランザクションAPI(JTA)で提供される

コールバックとリスナ

  • ビジネスロジックを、エンティティのライフサイクルにフック

環境

Mavenの設定

pom.xml

  • WildFly で永続性プロバイダにhibernateを使用する例
<dependencies>
  <!-- Import the JPA API, we use provided scope as the API is included in JBoss AS 7 -->
  <dependency>
    <groupId>org.hibernate.javax.persistence</groupId>
    <artifactId>hibernate-jpa-2.0-api</artifactId>
    <scope>provided</scope>
  </dependency>
</dependencies>

永続化コンテキスト(persistence.xml)

Hibernateの例

設定 内容 設定値
hibernate.show_sql すべてのSQLステートメントをコンソールに出力する false
hibernate.hbm2ddl.auto DDLの検査とデータベースへの適用を自動で行う。create-drop では終了時に、スキーマはドロップされる update | create | create-drop