2014年1月12日日曜日

Jboss7.1.1 とJPA(eclipselink)

Jboss7.1.1 で eclipselink を使ってみた。

(1) eclipselink をダウンロード
% wget http://ftp.yz.yamagata-u.ac.jp/pub/eclipse//rt/eclipselink/releases/2.4.2/eclipselink-2.4.2.v20130514-5956486.zip
% unzip eclipselink-2.4.2.v20130514-5956486.zip

(2) modules の配置
・解凍したファイルより、 eclipselink.jar を以下の配置にコピーする。
% cd ~/jboss7/modules/org
% tree eclipse
eclipse
└── persistence
    └── main
        ├── eclipselink.jar
        ├── eclipselink.jar.index
        └── module.xml

2 directories, 3 files

(3) module.xml
<module xmlns="urn:jboss:module:1.1" name="org.eclipse.persistence">
  <resources>
    <resource-root path="eclipselink.jar"/>
    <!-- Insert resources here -->
  </resources>
  <dependencies>
    <module name="javax.api"/>
    <module name="javax.persistence.api"/>
    <module name="javax.transaction.api"/>
    <module name="javax.validation.api"/>
    <module name="javax.xml.bind.api"/>
    <module name="org.antlr"/>
    <module name="org.apache.commons.collections"/>
    <module name="org.dom4j"/>
    <module name="org.javassist"/>
    <module name="org.jboss.logging"/>
  </dependencies>
</module>
(4) persistence.xml
・最初、JBoss 用の property を記載しなくて、トランザクションが掛からなくてハマりました。
<?xml version="1.0" encoding="UTF-8" ?>
<persistence xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
            xsi:schemaLocation="http://java.sun.com/xml/ns/persistence http://java.sun.com/xml/ns/persistence/persistence_2_0.xsd"
            version="2.0" xmlns="http://java.sun.com/xml/ns/persistence">

    <persistence-unit name="foods" transaction-type="JTA">
        <provider>org.eclipse.persistence.jpa.PersistenceProvider</provider>
        <jta-data-source>java:jboss/datasources/MySqlDS</jta-data-source>
        <class>jpa.foods</class>
        <properties>
            <property name="eclipselink.target-server" value="JBoss" />
<!--          
            <property name="eclipselink.logging.level" value="FINEST" />
-->
        </properties>
    </persistence-unit>

</persistence>

0 件のコメント:

コメントを投稿