libro
www.tuyano.com
初心者のためのSpring Framework入門

Spring Data JPAの利用 (2/7)

作成:2015-07-25 08:24
更新:2015-07-25 08:24

■persistence.xmlを作成する

まずは、Bean設定ファイルを利用する形でSpring Data JPAを使ってみることにしましょう。

Spring Data JPAを利用するには、プロジェクトにいくつか用意しておかなければいけないものがあります。その1つが、「persistence.xml」と呼ばれるファイルです。これは、「パーシスタンスユニット」というものの情報を記述したファイルです。

JPAでは、データベースアクセスを行うのに「パーシスタンス」というものを用意します。要するに、このpersistence.xmlの中に、アクセスするデータベースに関する情報を記述しておく、と考えて下さい。

このファイルは、Webアプリケーションの「META-INF」フォルダ内に配置します。Mavenプロジェクトの場合は、「src」内の「main」内にある「resources」フォルダがWebアプリケーションのディレクトリになります。この「resources」フォルダ内に、「META-INF」というフォルダを作成して下さい。そして、その中に「persistence.xml」という名前でファイルを作成し、下のリスト欄の内容を記述して下さい。

このpersistence.xmlでは、<persistence>というタグの中に<persistence-unit>というタグを用意します。これが、パーシスタンスユニットの情報を記述するタグになります。この中に<provider>タグで「プロバイダ」と呼ばれるクラスを指定し、更に<properties>タグの中に必要な情報をプロパティとして記述していきます。用意されているプロパティは以下のようになります。
hibernate.diarect
hibernate.hbm2ddl.auto
これらは、HibernatePersistenceで必要となるものです。Dialectというデータベースとのやりとりをするクラスと、起動時や終了時のデータベースの処理についての設定になります。ここではH2を利用するためのDialectと、起動時に新たにデータベースを用意し、終了時に破棄するための設定をしてあります。
javax.persistence.jdbc.driver
javax.persistence.jdbc.url
javax.persistence.jdbc.user
javax.persistence.jdbc.password
これらは、データベースのドライバ、アクセスURL、アクセスに使う利用者名とパスワードといったものをそれぞれ設定しておくものです。

用意されているプロパティは、利用するエンティティマネージャによって多少変わってきます。今回はHibernateのライブラリを利用しているため、それ専用の値がプロパティに追加されています。他のエンティティマネージャを使う場合は、また違ったプロパティを用意する必要があるかもしれません。

※プログラムリストが表示されない場合

AddBlockなどの広告ブロックツールがONになっていると、プログラムリスト等が表示されない場合があります。これらのツールをOFFにしてみてください。

●プログラム・リスト●

<?xml version="1.0" encoding="UTF-8"?>
<persistence
    xmlns="http://xmlns.jcp.org/xml/ns/persistence"
    xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
    xsi:schemaLocation="http://xmlns.jcp.org/xml/ns/persistence http://xmlns.jcp.org/xml/ns/persistence/persistence.xsd">

    <persistence-unit name="persistence-unit"
        transaction-type="RESOURCE_LOCAL">
        <provider>org.hibernate.ejb.HibernatePersistence</provider>
        <properties>
            <property name="hibernate.diarect" value="${hibernate.dialect}" />
            <property name="hibernate.hbm2ddl.auto" value="${hibernate.hbm2ddl.auto}" />
            <property name="javax.persistence.jdbc.driver" value="${db.driver}" />
            <property name="javax.persistence.jdbc.url" value="${db.url}" />
            <property name="javax.persistence.jdbc.user" value="${db.user}" />
            <property name="javax.persistence.jdbc.password" value="${db.password}" />
        </properties>
    </persistence-unit>
    
</persistence>
※関連コンテンツ

「初心者のためのSpring Framework入門」に戻る