ホームページ > Java > &#&チュートリアル > JPA のpersistence.xml でエンティティを定義するにはどうすればよいですか?

JPA のpersistence.xml でエンティティを定義するにはどうすればよいですか?

DDD
リリース: 2024-11-28 08:02:10
オリジナル
464 人が閲覧しました

How can I define entities in persistence.xml for JPA?

persistence.xml のエンティティ

Java Persistence API (JPA) では、persistence.xml ファイルは永続化ユニットについて永続化プロバイダーに通知します。アプリケーション内で設定ファイルとして機能します。その機能の 1 つは、永続化ユニットによって管理されるエンティティを定義することです。

自動エンティティ スキャン

JPQL は、クラスを使用して Java パッケージ内のエンティティを自動的にスキャンします。 で指定されます。 persistence.xml の要素。ただし、このアプローチは必須ではなく、他のメカニズムを使用してエンティティを定義することもできます。

jar ファイル要素を使用する

エンティティを手動でリストする代わりに、 jar-file 要素を使用して、エンティティ クラスを含む 1 つ以上の JAR ファイルを指定できます。永続化プロバイダーは、これらの JAR ファイルをスキャンして @Entity アノテーションが付けられたクラスを探します。

<persistence>
    <persistence-unit name="eventractor" transaction-type="RESOURCE_LOCAL">
        <jar-file>MyOrderApp.jar</jar-file>
        <properties>
            <property name="hibernate.hbm2ddl.auto" value="validate" />
            <property name="hibernate.show_sql" value="true" />
        </properties>
    </persistence-unit>
</persistence>
ログイン後にコピー

Hibernate Auto-Detection

Hibernate は特に、次の場合でもエンティティの自動検出をサポートします。 Java SE アプリケーション。これを有効にするには、hibernate.archive.autodetection プロパティをpersistence.xmlに追加します:

<persistence>
    <persistence-unit name="eventractor" transaction-type="RESOURCE_LOCAL">
        <!-- Hibernate auto-detection is spec compliant in Java EE only. -->
        <properties>
            <property name="hibernate.archive.autodetection" value="class, hbm" />
            <property name="hibernate.hbm2ddl.auto" value="validate" />
            <property name="hibernate.show_sql" value="true" />
        </properties>
    </persistence-unit>
</persistence>
ログイン後にコピー

結論

ただし、永続化でエンティティを直接指定することは必須ではありません。 .xml を使用すると、永続化プロバイダーによって管理されるクラスを明示的に制御できるようになります。 jar ファイル要素または Hibernate の自動検出機能を使用すると、エンティティの管理がより柔軟になります。

以上がJPA のpersistence.xml でエンティティを定義するにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

ソース:php.cn
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート