8

概要

Java Web アプリケーション JPA 2.0 の例を実行しようとしています。サンプル アプリケーションは、JPA プロバイダーとしてGlassfish使用して、で実行するように記述されています。JPA プロバイダーとして実行するEclipseLinkように変換したいのですが、起動して実行するための詳細なチュートリアルはありません。TomEEOpenJPAOpenJPA

問題

の代わりに でpersistence.xml動作するように変換できません。より具体的には、与えられたものは指定されていません:OpenJPAEclipseLinkpersistence.xml

  • Entityクラス。これらは必要ですか?
  • 目的の JPA プロバイダー。コンテナのデフォルトは何か?
  • JDBC ドライバー。「インメモリ」DB を指定するにはどうすればよいですか (初期テスト目的のみ)。

また:

  • DDL 生成プロパティは OpenJPA でどのように表現されますか? OpenJPA User Guideでそれらを見つけることができませんでした。

詳細

以下はEclipseLinkpersistence.xmlです:

<?xml version="1.0" encoding="UTF-8"?>
<persistence version="2.0"
    xmlns="http://java.sun.com/xml/ns/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">
    <persistence-unit name="order" transaction-type="JTA">
        <jta-data-source>jdbc/__default</jta-data-source>
        <properties>
            <property name="eclipselink.ddl-generation" value="drop-and-create-tables" />
            <property name="eclipselink.ddl-generation.output-mode"
                value="both" />
        </properties>
    </persistence-unit>
</persistence>

私は次のEntityクラスを持っています:

  • order.entity.LineItem
  • order.entity.LineItemKey
  • order.entity.Order
  • order.entity.Part
  • order.entity.PartKey
  • order.entity.Vendor
  • order.entity.VendorPart

質問

  • 同等のpersistence.xmlがOpenJPAでどのように見えるか知っている人はいますか?
  • または、誰かがこれらの問題をカバーする OpenJPA チュートリアルを教えてくれれば、それは同じくらい良いでしょう
4

2 に答える 2

7

以下に示すようにプロパティを追加すると、openjpa.jdbc.SynchronizeMappingsOpenJPAはすべてのテーブル、すべての主キー、およびすべての外部キーをオブジェクトと完全に一致するように自動作成します。

<property name="openjpa.jdbc.SynchronizeMappings" value="buildSchema(ForeignKeys=true)"/>

または、EclipseLink jarをに追加するだけで、TomEEでEclipseLinkを使用できます。<CATALINA_HOME>/lib/

CommonPersistenceProviderのプロパティについてはこちらを参照してください

于 2012-05-21T18:51:56.977 に答える