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

Spring Data JPAの利用 (4/7)

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

■Bean設定ファイルを用意する

次に用意するのは、Bean設定ファイルです。Spring Data JPAを利用する場合には、「エンティティマネージャ」と呼ばれるものを使ってアクセスを行います。これを作成するための「エンティティマネージャファクトリー」というBeanを設定ファイルで用意しておきます。

では、「resources」フォルダの中に、新たに「dbbean.xml」というファイルを作成しましょう。そして、下のリスト欄の内容を記述して下さい。

今回は、JPAやJDBCのタグを使うための属性が<beans>タグ内にいろいろと追加されています。このタグ内には、2つのBean設定タグが用意されています。

●<jdbc:embedded-database>タグ
これは、データベースのデータ先(データソース)のオブジェクトに関するものです。id="dataSource"としていますが、その後のエンティティマネージャファクトリーでこのBeanを利用するためのIDになります。またtype="H2"で、データベースとしてH2を使っていることを示します。

●<bean id="entityManagerFactory" >タグ
エンティティマネージャファクトリーのBean定義です。クラスに、org.springframework.orm.jpaパッケージのLocalContainerEntityManagerFactoryBeanというクラスを指定しています。プロパティとして以下のような項目を用意しておきます。

dataSource――<jdbc:embedded-database>に用意したBeanが指定されます。
jpaVendorAdapter――JPAベンダーアダプタというものを指定します。ここでは、HibernateJpaVendorAdapterクラスのBeanを用意しておきます。なお、このBeanにはgenerateDdlというプロパティを用意し、データベースを自動生成できるようにしておきます。

いろいろなBeanが組み合わせられていますが、要するにすべては「エンティティマネージャ」というものを使えるようにするためのものだ、という点をよく理解しておきましょう。また、entityManagerFactoryのプロパティは、ここではHibernateのものを利用していますが、他のライブラリを使用することもあるでしょう。その場合は、使用するベンダーアダプタに合わせて下さい。

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

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

●プログラム・リスト●

<?xml version="1.0" encoding="UTF-8"?>
<beans xmlns="http://www.springframework.org/schema/beans"
    xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" 
    xmlns:jpa="http://www.springframework.org/schema/data/jpa"
    xmlns:jdbc="http://www.springframework.org/schema/jdbc"
    xsi:schemaLocation="http://www.springframework.org/schema/beans 
        http://www.springframework.org/schema/beans/spring-beans.xsd 
        http://www.springframework.org/schema/jdbc 
        http://www.springframework.org/schema/jdbc/spring-jdbc.xsd  
        http://www.springframework.org/schema/data/jpa 
        http://www.springframework.org/schema/data/jpa/spring-jpa.xsd">

    <jdbc:embedded-database id="dataSource" type="H2" />

    <bean id="entityManagerFactory" class="org.springframework.orm.jpa.LocalContainerEntityManagerFactoryBean">
        <property name="dataSource" ref="dataSource"/>
        <property name="jpaVendorAdapter">
            <bean class="org.springframework.orm.jpa.vendor.HibernateJpaVendorAdapter">
                <property name="generateDdl" value="true" />
            </bean>
        </property>
    </bean>
        
</beans>
※関連コンテンツ

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