All Downloads are FREE. Search and download functionalities are using the official Maven repository.

META-INF.persistence-template.xml Maven / Gradle / Ivy

The newest version!
<?xml version="1.0" encoding="UTF-8"?>
<!--
  Licensed to the Apache Software Foundation (ASF) under one
  or more contributor license agreements.  See the NOTICE file
  distributed with this work for additional information
  regarding copyright ownership.  The ASF licenses this file
  to you under the Apache License, Version 2.0 (the
  "License"); you may not use this file except in compliance
  with the License.  You may obtain a copy of the License at

    http://www.apache.org/licenses/LICENSE-2.0

  Unless required by applicable law or agreed to in writing,
  software distributed under the License is distributed on an
  "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
  KIND, either express or implied.  See the License for the
  specific language governing permissions and limitations
  under the License.    
-->

<persistence xmlns="http://java.sun.com/xml/ns/persistence"
    xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
    xsi:schemaLocation="http://java.sun.com/xml/ns/persistence http://java.sun.com/xml/ns/persistence/persistence_2_0.xsd"
    version="2.0">

    <persistence-unit name="James" transaction-type="RESOURCE_LOCAL">
    
    <!-- Use the mappings to overwriting the annotations defined in the JPA domain classes -->
    <mapping-file>META-INF/jpa-mappings-template.xml</mapping-file>

        <!-- Mailbox stuff-->
        <class>org.apache.james.mailbox.jpa.mail.model.JPAMailbox</class>
        <class>org.apache.james.mailbox.jpa.mail.model.JPAUserFlag</class>
        <class>org.apache.james.mailbox.jpa.mail.model.openjpa.AbstractJPAMailboxMessage</class>
<!-- 
        <class>org.apache.james.mailbox.jpa.mail.model.openjpa.JPAEncryptedMailboxMessageMessage</class>
-->

        <!-- This needs to get used when you want to use streaming. Remember to comment the following classes
             org.apache.james.mailbox.jpa.mail.model.JPAMailboxMessage
             If you don't do this the EntityManager will get confused!
        <class>org.apache.james.mailbox.jpa.mail.model.openjpa.JPAStreamingMailboxMessageMessage</class>
        -->
        <!-- Comment if you want to use streaming -->
        <class>org.apache.james.mailbox.jpa.mail.model.openjpa.JPAMailboxMessage</class>

        <class>org.apache.james.mailbox.jpa.mail.model.JPAProperty</class>
        <class>org.apache.james.mailbox.jpa.user.model.JPASubscription</class>

        <!-- DomainList -->
        <class>org.apache.james.domainlist.jpa.model.JPADomain</class>

        <!-- User-->
        <class>org.apache.james.user.jpa.model.JPAUser</class>

        <!-- RecipientRewrite -->
        <class>org.apache.james.rrt.jpa.model.JPARecipientRewrite</class>

        <properties>
            <!--  Create tables on startup -->
            <property name="openjpa.jdbc.SynchronizeMappings" value="buildSchema(ForeignKeys=true)"/>
            <!--  Create foreign keys on startup -->
            <property name="openjpa.jdbc.MappingDefaults" value="ForeignKeyDeleteAction=cascade, JoinForeignKeyDeleteAction=cascade"/>
            <!--  Reorder SQL statements to satisfy database foreign key constraints -->
            <property name="openjpa.jdbc.SchemaFactory" value="native(ForeignKeys=true)"/>
            <!--  Disable query cache for now. It seems to be buggy. -->
            <!--  See http://www.mail-archive.com/[email protected]/msg28802.html -->
            <!--  See https://issues.apache.org/jira/browse/OPENJPA-1827 -->
            <property name="openjpa.jdbc.QuerySQLCache" value="false"/>
            <!--  Uncomment this if you want to see the generated SQL in the console.
            <property name="openjpa.Log" value="SQL=TRACE"/>
            -->
            <!--  Uncomment this if you want to get verbose OpenJPA log the console.
            <property name="openjpa.Log" value="DefaultLevel=TRACE"/>
            -->
        </properties>

    </persistence-unit>

</persistence>




© 2015 - 2025 Weber Informatics LLC | Privacy Policy