<!--

    Copyright (c) 2018, 2020 Oracle and/or its affiliates. All rights reserved.

    This program and the accompanying materials are made available under the
    terms of the Eclipse Public License v. 2.0 which is available at
    http://www.eclipse.org/legal/epl-2.0,
    or the Eclipse Distribution License v. 1.0 which is available at
    http://www.eclipse.org/org/documents/edl-v10.php.

    SPDX-License-Identifier: EPL-2.0 OR BSD-3-Clause

-->

<persistence xmlns="http://java.sun.com/xml/ns/persistence" version="1.0">

    <persistence-unit name="SpringDaoContainerPu" transaction-type="RESOURCE_LOCAL">
        <class>test.org.eclipse.persistence.testing.models.jpa.spring.Truck</class>
        <class>test.org.eclipse.persistence.testing.models.jpa.spring.Address</class>
        <class>test.org.eclipse.persistence.testing.models.jpa.spring.Route</class>
    </persistence-unit>

    <persistence-unit name="SpringContainerPu" transaction-type="RESOURCE_LOCAL">
        <class>test.org.eclipse.persistence.testing.models.jpa.spring.Truck</class>
        <class>test.org.eclipse.persistence.testing.models.jpa.spring.Address</class>
        <class>test.org.eclipse.persistence.testing.models.jpa.spring.Route</class>
    </persistence-unit>

    <persistence-unit name="SpringJTAPu" transaction-type="JTA">
        <jta-data-source>jdbc/jta</jta-data-source>
        <class>test.org.eclipse.persistence.testing.models.jpa.spring.Truck</class>
        <class>test.org.eclipse.persistence.testing.models.jpa.spring.Address</class>
        <class>test.org.eclipse.persistence.testing.models.jpa.spring.Route</class>
        <properties>
            <property name="eclipselink.target-server" value="org.eclipse.persistence.transaction.jotm.JotmTransactionController" />
        </properties>
    </persistence-unit>

    <persistence-unit name="SpringLocalPu" transaction-type="RESOURCE_LOCAL">
        <class>test.org.eclipse.persistence.testing.models.jpa.spring.Truck</class>
        <class>test.org.eclipse.persistence.testing.models.jpa.spring.Address</class>
        <class>test.org.eclipse.persistence.testing.models.jpa.spring.Route</class>
        <properties>
            <property name="eclipselink.ddl-generation" value="drop-and-create-tables" />
            <property name="jakarta.persistence.jdbc.driver" value="@driverClass@" />
            <property name="jakarta.persistence.jdbc.url" value="@dbURL@" />
            <property name="jakarta.persistence.jdbc.user" value="@dbUser@" />
            <property name="jakarta.persistence.jdbc.password" value="@dbPassword@" />
            <!--property name="eclipselink.logging.level" value="FINE"/-->
        </properties>
    </persistence-unit>

</persistence>
