質問

私はJPAを学ぼうとしています。JPAを使用してデータベーステーブルをクエリして更新するシンプルなJavaコマンドラインアプリを作成したいと思います。これを行うために必要な単純なコードをマッピングしました。しかし、ディレクトリ構造を構成する方法、Persistence.xmlファイル、パッケージなどを配置する場所がわかりません。これは迅速で汚い学習エクササイズなので、できるだけシンプルに保ちたいと思います。誰かがこれを行うために手順を綴ることができますか?

WebLogic 10.3を使用しています。

役に立ちましたか?

解決

persistence.xmlは META-INF Persistenceクラスと同じレベルのディレクトリ。 これが例です いくつかの有効で無効な構成の。私が書いた以外のJava EEアプリでは、persistence.xmlでjarを構築します WEB-INF/classes/META-INF/, 、私のJPAクラスが入っているからです WEB-INF/classes/.

他のヒント

WeblogicがJavaコマンドラインアプリと何が関係しているかを理解しているわけではありません:)

ともかく、 全て 探している詳細はで利用できます 持続ユニット のセクション Java EE 5チュートリアル 私が以下に引用していること:

持続ユニット

Persistenceユニットは、によって管理されるすべてのエンティティクラスのセットを定義します EntityManager アプリケーションのインスタンス。このエンティティクラスのセットは、単一のデータストア内に含まれるデータを表します。

持続ユニットは、によって定義されます persistence.xml 構成ファイル。 JARファイルまたはディレクトリ META-INF ディレクトリには含まれています persistence.xml 永続ユニットのルートと呼ばれます。永続ユニットの範囲は、永続ユニットのルートによって決定されます。

各永続ユニットは、Persistenceユニットのスコープに固有の名前で識別する必要があります。

永続的なユニットは、WARまたはEJB JARファイルの一部としてパッケージ化することも、JARファイルとしてパッケージ化して、戦争または耳ファイルに含めることができます。

永続的なユニットをEJB JARファイルのクラスのセットとしてパッケージ化する場合、 persistence.xml EJBジャーに入れる必要があります META-INF ディレクトリ。

永続的なユニットを戦争ファイルのクラスのセットとしてパッケージ化する場合、warファイルのwarファイルに配置する必要があります WEB-INF/classes/META-INF ディレクトリ。

戦争または耳ファイルに含まれるJARファイルに永続性ユニットをパッケージ化する場合、JARファイルを配置する必要があります。

  • の中に WEB-INF/lib 戦争のディレクトリ。
  • 耳ファイルのトップレベル。
  • EARファイルのライブラリディレクトリに。

persistence.xml ファイル

persistence.xml 1つ以上の永続ユニットを定義します。以下は例です persistence.xml ファイル。

<persistence>
    <persistence-unit name="OrderManagement">
        <description>This unit manages orders and customers.
            It does not rely on any vendor-specific features and can
            therefore be deployed to any persistence provider.
        </description>
        <jta-data-source>jdbc/MyOrderDB</jta-data-source>
        <jar-file>MyOrderApp.jar</jar-file>
        <class>com.widgets.Order</class>
        <class>com.widgets.Customer</class>
    </persistence-unit>
</persistence>

このファイルは、名前が付けられた永続ユニットを定義します OrderManagement, 、JTA認識データソースを使用します jdbc/MyOrderDB. 。 jar-fileclass 要素は、管理された永続性クラスを指定します:エンティティクラス、埋め込み可能なクラス、マッピングされたスーパークラス。 jar-file 要素は、管理された永続性クラスを含むパッケージ化された永続性ユニットに表示されるJARファイルを指定し、クラス要素は管理された永続性クラスに明示的に名前を付けます。

jta-data-source (jta-awareデータソースの場合)および non-jta-data-source (JTA以外のデータソース)要素は、コンテナが使用するデータソースのグローバルJNDI名を指定します。

ライセンス: CC-BY-SA帰属
所属していません StackOverflow
scroll top