首页 > Java > java教程 > 如何在 JPA 的 persistence.xml 中定义实体?

如何在 JPA 的 persistence.xml 中定义实体?

DDD
发布: 2024-11-28 08:02:10
原创
471 人浏览过

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

persistence.xml 中的实体

在 Java Persistence API (JPA) 中,persistence.xml 文件告诉持久性提供者有关持久性单元的信息在应用程序中并用作配置文件。它的功能之一是定义持久化单元要管理的实体。

自动实体扫描

JPQL 自动扫描 Java 包中包含类的实体在中指定persistence.xml 的元素。但是,这种方法不是强制性的,可以使用其他机制来定义实体。

使用 jar 文件元素

而不是手动列出实体,您可以使用 jar-file 元素来指定一个或多个包含实体类的 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 自动检测

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中文网其他相关文章!

来源:php.cn
本站声明
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn
热门教程
更多>
最新下载
更多>
网站特效
网站源码
网站素材
前端模板