>Java >java지도 시간 >JPA용 persistence.xml에서 엔터티를 어떻게 정의할 수 있나요?

JPA용 persistence.xml에서 엔터티를 어떻게 정의할 수 있나요?

DDD
DDD원래의
2024-11-28 08:02:10461검색

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

persistence.xml의 엔터티

JPA(Java Persistence API)에서 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는 특히 자바 SE 애플리케이션. 이를 활성화하려면 persistence.xml에 hibernate.archive.autoDetection 속성을 추가하십시오:

<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 중국어 웹사이트의 기타 관련 기사를 참조하세요!

성명:
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.