Spring Data JPAの利用 (4/7)
作成:2015-07-25 08:29
更新: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のものを利用していますが、他のライブラリを使用することもあるでしょう。その場合は、使用するベンダーアダプタに合わせて下さい。
では、「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のものを利用していますが、他のライブラリを使用することもあるでしょう。その場合は、使用するベンダーアダプタに合わせて下さい。
(by. SYODA-Tuyano.)
※プログラムリストが表示されない場合
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入門」に戻る