<?xml version="1.0" encoding="UTF-8"?>
<persistence xmlns="https://jakarta.ee/xml/ns/persistence"
			 xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
			 xsi:schemaLocation="https://jakarta.ee/xml/ns/persistence https://jakarta.ee/xml/ns/persistence/persistence_3_2.xsd"
			 version="3.2">
	<persistence-unit name="spring-data-jpa">
		<mapping-file>META-INF/orm.xml</mapping-file>
		<class>org.springframework.data.jpa.domain.AbstractPersistable</class>
		<class>org.springframework.data.jpa.domain.AbstractAuditable</class>
		<class>org.springframework.data.jpa.domain.sample.AbstractAnnotatedAuditable</class>
		<class>org.springframework.data.jpa.domain.sample.AbstractMappedType</class>
		<class>org.springframework.data.jpa.domain.sample.Account</class>
		<class>org.springframework.data.jpa.domain.sample.Address</class>
		<class>org.springframework.data.jpa.domain.sample.AnnotatedAuditableUser</class>
		<class>org.springframework.data.jpa.domain.sample.AuditableRole</class>
		<class>org.springframework.data.jpa.domain.sample.AuditableUser</class>
		<class>org.springframework.data.jpa.domain.sample.AuditableEntity</class>
		<class>org.springframework.data.jpa.domain.sample.AuditableEmbeddable</class>
		<class>org.springframework.data.jpa.domain.sample.Book</class>
		<class>org.springframework.data.jpa.domain.sample.Category</class>
		<class>org.springframework.data.jpa.domain.sample.Child</class>
		<class>org.springframework.data.jpa.domain.sample.ConcreteType1</class>
		<class>org.springframework.data.jpa.domain.sample.ConcreteType2</class>
		<class>org.springframework.data.jpa.domain.sample.CustomAbstractPersistable</class>
		<class>org.springframework.data.jpa.domain.sample.Customer</class>
		<class>org.springframework.data.jpa.domain.sample.EntityWithAssignedId</class>
		<class>org.springframework.data.jpa.domain.sample.EmbeddedIdExampleEmployeePK</class>
		<class>org.springframework.data.jpa.domain.sample.EmbeddedIdExampleEmployee</class>
		<class>org.springframework.data.jpa.domain.sample.EmbeddedIdExampleDepartment</class>
		<class>org.springframework.data.jpa.domain.sample.EmployeeWithName</class>
		<class>org.springframework.data.jpa.domain.sample.IdClassExampleEmployee</class>
		<class>org.springframework.data.jpa.domain.sample.IdClassExampleDepartment</class>
		<class>org.springframework.data.jpa.domain.sample.Invoice</class>
		<class>org.springframework.data.jpa.domain.sample.InvoiceItem</class>
		<class>org.springframework.data.jpa.domain.sample.Item</class>
		<class>org.springframework.data.jpa.domain.sample.ItemSite</class>
		<class>org.springframework.data.jpa.domain.sample.MailMessage</class>
		<class>org.springframework.data.jpa.domain.sample.MailSender</class>
		<class>org.springframework.data.jpa.domain.sample.MailUser</class>
		<class>org.springframework.data.jpa.domain.sample.Order</class>
		<class>org.springframework.data.jpa.domain.sample.Owner</class>
		<class>org.springframework.data.jpa.domain.sample.Parent</class>
		<class>org.springframework.data.jpa.domain.sample.PersistableWithIdClass</class>
		<class>org.springframework.data.jpa.domain.sample.PersistableWithSingleIdClass
		</class>
		<class>org.springframework.data.jpa.domain.sample.PrimitiveVersionProperty</class>
		<class>org.springframework.data.jpa.domain.sample.Product</class>
		<class>org.springframework.data.jpa.domain.sample.Role</class>
		<class>org.springframework.data.jpa.domain.sample.SampleEntity</class>
		<class>org.springframework.data.jpa.domain.sample.SampleEntityPK</class>
		<class>org.springframework.data.jpa.domain.sample.SampleWithIdClass</class>
		<class>org.springframework.data.jpa.domain.sample.SampleWithPrimitiveId</class>
		<class>org.springframework.data.jpa.domain.sample.SampleWithTimestampVersion</class>
		<class>org.springframework.data.jpa.domain.sample.Site</class>
		<class>org.springframework.data.jpa.domain.sample.SpecialUser</class>
		<class>org.springframework.data.jpa.domain.sample.User</class>
		<class>org.springframework.data.jpa.domain.sample.UserWithOptionalField</class>
		<class>org.springframework.data.jpa.domain.sample.VersionedUser</class>
		<class>org.springframework.data.jpa.domain.sample.Dummy</class>
		<class>org.springframework.data.jpa.domain.sample.SampleWithIdClassIncludingEntity</class>
		<class>org.springframework.data.jpa.domain.sample.SampleWithIdClassIncludingEntity$OtherEntity</class>
		<class>org.springframework.data.jpa.repository.support.JpaMetamodelEntityInformationIntegrationTests$Sample</class>
		<class>org.springframework.data.jpa.repository.support.JpaMetamodelEntityInformationIntegrationTests$EntityWithNestedIdClass</class>
		<class>org.springframework.data.jpa.repository.support.JpaMetamodelEntityInformationIntegrationTests$EntityWithIdClass</class>
		<class>org.springframework.data.jpa.repository.support.JpaMetamodelEntityInformationIntegrationTests$EntityWithPrivateIdGetter</class>
		<exclude-unlisted-classes>true</exclude-unlisted-classes>
	</persistence-unit>
	<persistence-unit name="querydsl">
		<class>org.springframework.data.jpa.domain.sample.CustomAbstractPersistable</class>
		<class>org.springframework.data.jpa.domain.sample.MailMessage</class>
		<class>org.springframework.data.jpa.domain.sample.MailSender</class>
		<class>org.springframework.data.jpa.domain.sample.MailUser</class>
		<class>org.springframework.data.jpa.domain.sample.Role</class>
		<class>org.springframework.data.jpa.domain.sample.User</class>
		<class>org.springframework.data.jpa.domain.sample.Dummy</class>
		<exclude-unlisted-classes>true</exclude-unlisted-classes>
	</persistence-unit>
	<persistence-unit name="cdi">
		<provider>org.hibernate.jpa.HibernatePersistenceProvider</provider>
		<class>org.springframework.data.jpa.domain.sample.MailMessage</class>
		<class>org.springframework.data.jpa.domain.sample.MailSender</class>
		<class>org.springframework.data.jpa.domain.sample.MailUser</class>
		<class>org.springframework.data.jpa.domain.sample.Role</class>
		<class>org.springframework.data.jpa.domain.sample.User</class>
		<class>org.springframework.data.jpa.repository.cdi.Person</class>
		<class>org.springframework.data.jpa.domain.sample.Dummy</class>
		<exclude-unlisted-classes>true</exclude-unlisted-classes>
		<properties>
			<property name="hibernate.connection.username" value="sa" />
			<property name="hibernate.connection.driver_class" value="org.hsqldb.jdbcDriver" />
			<property name="hibernate.connection.password" value="" />
			<property name="hibernate.connection.url" value="jdbc:hsqldb:mem:cdi" />
			<property name="hibernate.dialect" value="org.hibernate.dialect.HSQLDialect" />
			<property name="hibernate.hbm2ddl.auto" value="update" />
		</properties>
	</persistence-unit>

	<!-- DATAJPA-476 -->
	<persistence-unit name="merchant">
		<class>org.springframework.data.jpa.domain.sample.User</class>
		<class>org.springframework.data.jpa.domain.sample.Role</class>
		<class>org.springframework.data.jpa.repository.query.QueryUtilsIntegrationTests$Merchant</class>
		<class>org.springframework.data.jpa.repository.query.QueryUtilsIntegrationTests$Address</class>
		<class>org.springframework.data.jpa.repository.query.QueryUtilsIntegrationTests$Employee</class>
		<class>org.springframework.data.jpa.repository.query.QueryUtilsIntegrationTests$Credential</class>
		<exclude-unlisted-classes>true</exclude-unlisted-classes>
		<properties>
			<property name="hibernate.dialect" value="org.hibernate.dialect.HSQLDialect" />
		</properties>
	</persistence-unit>

	<persistence-unit name="dynamic-tests">
		<provider>org.hibernate.jpa.HibernatePersistenceProvider</provider>
		<exclude-unlisted-classes>true</exclude-unlisted-classes>
		<properties>
			<property name="hibernate.dialect" value="org.hibernate.dialect.HSQLDialect" />
		</properties>
	</persistence-unit>

	<!--  Custom PUs for metadata tests -->

	<persistence-unit name="metadata">
		<provider>org.hibernate.jpa.HibernatePersistenceProvider</provider>
		<class>org.springframework.data.jpa.domain.sample.CustomAbstractPersistable</class>
		<class>org.springframework.data.jpa.domain.sample.MailMessage</class>
		<class>org.springframework.data.jpa.domain.sample.MailSender</class>
		<class>org.springframework.data.jpa.domain.sample.MailUser</class>
		<class>org.springframework.data.jpa.domain.sample.User</class>
		<class>org.springframework.data.jpa.domain.sample.Role</class>
		<class>org.springframework.data.jpa.repository.support.JpaMetamodelEntityInformationIntegrationTests$Sample</class>
		<class>org.springframework.data.jpa.repository.support.JpaMetamodelEntityInformationIntegrationTests$EntityWithNestedIdClass</class>
		<class>org.springframework.data.jpa.repository.support.JpaMetamodelEntityInformationIntegrationTests$EntityWithIdClass</class>
		<class>org.springframework.data.jpa.repository.support.JpaMetamodelEntityInformationIntegrationTests$EntityWithPrivateIdGetter</class>
		<class>org.springframework.data.jpa.repository.support.JpaMetamodelEntityInformationIntegrationTests$ExampleEntityWithStringId</class>
		<class>org.springframework.data.jpa.repository.support.JpaMetamodelEntityInformationIntegrationTests$ExampleEntityWithUUIDId</class>
		<exclude-unlisted-classes>true</exclude-unlisted-classes>
		<properties>
			<property name="hibernate.dialect" value="org.hibernate.dialect.HSQLDialect" />
		</properties>
	</persistence-unit>
	<persistence-unit name="metadata_el">
		<provider>org.eclipse.persistence.jpa.PersistenceProvider</provider>
		<class>org.springframework.data.jpa.domain.sample.CustomAbstractPersistable</class>
		<class>org.springframework.data.jpa.domain.sample.MailMessage</class>
		<class>org.springframework.data.jpa.domain.sample.MailSender</class>
		<class>org.springframework.data.jpa.domain.sample.MailUser</class>
		<class>org.springframework.data.jpa.domain.sample.User</class>
		<class>org.springframework.data.jpa.domain.sample.Role</class>
		<class>org.springframework.data.jpa.repository.support.JpaMetamodelEntityInformationIntegrationTests$Sample</class>
		<class>org.springframework.data.jpa.repository.support.JpaMetamodelEntityInformationIntegrationTests$EntityWithNestedIdClass</class>
		<class>org.springframework.data.jpa.repository.support.JpaMetamodelEntityInformationIntegrationTests$EntityWithIdClass</class>
		<class>org.springframework.data.jpa.repository.support.JpaMetamodelEntityInformationIntegrationTests$EntityWithPrivateIdGetter</class>
		<class>org.springframework.data.jpa.repository.support.JpaMetamodelEntityInformationIntegrationTests$ExampleEntityWithStringId</class>
		<class>org.springframework.data.jpa.repository.support.JpaMetamodelEntityInformationIntegrationTests$ExampleEntityWithUUIDId</class>
		<class>org.springframework.data.jpa.domain.sample.Dummy</class>
		<exclude-unlisted-classes>true</exclude-unlisted-classes>
		<properties>
			<property name="jakarta.persistence.jdbc.driver" value="org.hsqldb.jdbcDriver" />
			<property name="jakarta.persistence.jdbc.url" value="jdbc:hsqldb:mem:test" />
			<property name="jakarta.persistence.jdbc.user" value="sa" />
			<property name="jakarta.persistence.jdbc.password" value="" />
			<property name="eclipselink.ddl-generation" value="create-tables" />
			<property name="eclipselink.ddl-generation.output-mode" value="database" />
		</properties>
	</persistence-unit>
	<persistence-unit name="metadata-id-handling">
		<provider>org.hibernate.jpa.HibernatePersistenceProvider</provider>
		<class>org.springframework.data.jpa.domain.sample.CustomAbstractPersistable</class>
		<class>org.springframework.data.jpa.domain.sample.MailMessage</class>
		<class>org.springframework.data.jpa.domain.sample.MailSender</class>
		<class>org.springframework.data.jpa.domain.sample.MailUser</class>
		<class>org.springframework.data.jpa.domain.sample.User</class>
		<class>org.springframework.data.jpa.domain.sample.Role</class>
		<class>org.springframework.data.jpa.repository.support.JpaMetamodelEntityInformationIntegrationTests$Sample</class>
		<class>org.springframework.data.jpa.repository.support.JpaMetamodelEntityInformationIntegrationTests$EntityWithNestedIdClass</class>
		<class>org.springframework.data.jpa.repository.support.JpaMetamodelEntityInformationIntegrationTests$EntityWithIdClass</class>
		<class>org.springframework.data.jpa.repository.support.JpaMetamodelEntityInformationIntegrationTests$EntityWithPrivateIdGetter</class>
		<class>org.springframework.data.jpa.repository.support.JpaMetamodelEntityInformationIntegrationTests$ExampleEntityWithStringId</class>
		<class>org.springframework.data.jpa.repository.support.JpaMetamodelEntityInformationIntegrationTests$ExampleEntityWithUUIDId</class>
		<exclude-unlisted-classes>true</exclude-unlisted-classes>
		<properties>
			<property name="hibernate.dialect" value="org.hibernate.dialect.PostgreSQLDialect" />
		</properties>
	</persistence-unit>
	<persistence-unit name="metadata-id-handling-el">
		<provider>org.eclipse.persistence.jpa.PersistenceProvider</provider>
		<class>org.springframework.data.jpa.domain.sample.CustomAbstractPersistable</class>
		<class>org.springframework.data.jpa.domain.sample.MailMessage</class>
		<class>org.springframework.data.jpa.domain.sample.MailSender</class>
		<class>org.springframework.data.jpa.domain.sample.MailUser</class>
		<class>org.springframework.data.jpa.domain.sample.Role</class>
		<class>org.springframework.data.jpa.domain.sample.User</class>
		<class>org.springframework.data.jpa.repository.support.JpaMetamodelEntityInformationIntegrationTests$Sample</class>
		<class>org.springframework.data.jpa.repository.support.JpaMetamodelEntityInformationIntegrationTests$EntityWithNestedIdClass</class>
		<class>org.springframework.data.jpa.repository.support.JpaMetamodelEntityInformationIntegrationTests$EntityWithIdClass</class>
		<class>org.springframework.data.jpa.repository.support.JpaMetamodelEntityInformationIntegrationTests$EntityWithPrivateIdGetter</class>
		<class>org.springframework.data.jpa.repository.support.JpaMetamodelEntityInformationIntegrationTests$ExampleEntityWithStringId</class>
		<class>org.springframework.data.jpa.repository.support.JpaMetamodelEntityInformationIntegrationTests$ExampleEntityWithUUIDId</class>
		<exclude-unlisted-classes>true</exclude-unlisted-classes>
		<properties>
			<property name="hibernate.dialect" value="org.hibernate.dialect.PostgreSQLDialect" />
		</properties>
	</persistence-unit>

</persistence>
