persistence.xml のエンティティ
Java Persistence API (JPA) では、persistence.xml ファイルは永続化ユニットについて永続化プロバイダーに通知します。アプリケーション内で設定ファイルとして機能します。その機能の 1 つは、永続化ユニットによって管理されるエンティティを定義することです。
自動エンティティ スキャン
JPQL は、クラスを使用して Java パッケージ内のエンティティを自動的にスキャンします。
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 サイトの他の関連記事を参照してください。