mailiverse/deploy/james/apache-james-conf/META-INF/persistence-template.xml
2013-08-09 17:31:37 -04:00

82 lines
3.9 KiB
XML

<?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.AbstractJPAMessage</class>
<class>org.apache.james.mailbox.jpa.mail.model.openjpa.JPAMessage</class>
<!--
<class>org.apache.james.mailbox.jpa.mail.model.openjpa.JPAEncryptedMessage</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.JPAMessage
If you don't do this the EntityManager will get confused!
<class>org.apache.james.mailbox.jpa.mail.model.openjpa.JPAStreamingMessage</class>
-->
<!-- Comment if you want to use streaming -->
<class>org.apache.james.mailbox.jpa.mail.model.openjpa.JPAMessage</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/server-dev@james.apache.org/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>