1,848 バイト追加
、 2020年2月15日 (土) 07:33
==Java EE JPA==
[Java EE]
{{amazon|4798124605}}
==概要==
*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)===
====[http://hibernate.org/ Hibernate]の例====
*http://docs.jboss.org/hibernate/core/3.3/reference/en/html/session-configuration.html
{|class="wikitable"
!設定
!内容
!設定値
|-
|hibernate.show_sql
|すべてのSQLステートメントをコンソールに出力する
|true | false
|-
|hibernate.hbm2ddl.auto
|DDLの検査とデータベースへの適用を自動で行う。create-drop では終了時に、スキーマはドロップされる
|validate | update | create | create-drop
|-
|}
*[http://typea.info/blg/glob/2014/04/java-ee-7-3-jpamysqlarquillian.html JPAからMySQLに接続するユニットテスト]