openjpa-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Roytman, Alex" <Roytm...@peacetech.com>
Subject RE: Why would Kodo refuse to batch inserts in certain tables? Big performance drop migrating to Kodo 4.1
Date Tue, 17 Oct 2006 20:38:07 GMT
Yes it will be wrapped by email though

 

15  WARN   [main] openjpa.Runtime - The property named
"kodo.jdbc.SequenceFactory" was not recognized and will be ignored,
although the name closely matches a valid property called
"kodo.jdbc.SchemaFactory".

15  WARN   [main] openjpa.Runtime - The property named
"kodo.jdbc.ClassIndicator" was not recognized and will be ignored,
although the name closely matches a valid property called
"kodo.jdbc.MappingFactory".

47  INFO   [main] openjpa.Runtime - Starting BEA Kodo 4.1.0 with
patches: 

    Kodo JDO Utilities vtip-revision

62  INFO   [main] openjpa.jdbc.JDBC - Using dictionary class
"org.apache.openjpa.jdbc.sql.OracleDictionary".

328  INFO   [main] openjpa.jdbc.JDBC - oracle-batch-override

1578  TRACE  [main] openjpa.jdbc.SQL - <t 28035001, conn 15038164>
executing prepstmnt 21057622 SELECT t0.JDO_LOCK, t0.IS_ACTIVE,
t0.DEFAULT_VALUE, t0.DESCRIPTION, t0.IS_LOOKUP, t0.LOOKUP_SORT_ORDER,
t0.IS_MULTI_VALUE FROM DTS.PROPERTY_DEFINITION t0 WHERE t0.NAME = ?
[params=(String) IC]

1578  TRACE  [main] openjpa.jdbc.SQL - <t 28035001, conn 15038164> [0
ms] spent

1593  TRACE  [main] openjpa.jdbc.SQL - <t 28035001, conn 15038164>
executing prepstmnt 21057622 SELECT t0.JDO_LOCK, t0.IS_ACTIVE,
t0.DEFAULT_VALUE, t0.DESCRIPTION, t0.IS_LOOKUP, t0.LOOKUP_SORT_ORDER,
t0.IS_MULTI_VALUE FROM DTS.PROPERTY_DEFINITION t0 WHERE t0.NAME = ?
[params=(String) DocType]

1593  TRACE  [main] openjpa.jdbc.SQL - <t 28035001, conn 15038164> [0
ms] spent

1593  TRACE  [main] openjpa.jdbc.SQL - <t 28035001, conn 15038164>
executing prepstmnt 21057622 SELECT t0.JDO_LOCK, t0.IS_ACTIVE,
t0.DEFAULT_VALUE, t0.DESCRIPTION, t0.IS_LOOKUP, t0.LOOKUP_SORT_ORDER,
t0.IS_MULTI_VALUE FROM DTS.PROPERTY_DEFINITION t0 WHERE t0.NAME = ?
[params=(String) GC]

1593  TRACE  [main] openjpa.jdbc.SQL - <t 28035001, conn 15038164> [0
ms] spent

1593  TRACE  [main] openjpa.jdbc.SQL - <t 28035001, conn 15038164>
executing prepstmnt 21057622 SELECT t0.JDO_LOCK, t0.IS_ACTIVE,
t0.DEFAULT_VALUE, t0.DESCRIPTION, t0.IS_LOOKUP, t0.LOOKUP_SORT_ORDER,
t0.IS_MULTI_VALUE FROM DTS.PROPERTY_DEFINITION t0 WHERE t0.NAME = ?
[params=(String) ClauseId]

1593  TRACE  [main] openjpa.jdbc.SQL - <t 28035001, conn 15038164> [0
ms] spent

1625  TRACE  [main] openjpa.jdbc.SQL - <t 28035001, conn 15038164>
executing prepstmnt 15513215 INSERT INTO DTS.DOCUMENT (DOCUMENT_NODE_ID,
DOCUMENT_NUMBER, TEMPLATE_ID, ORG_UNIT_ID, PREPARER, TITLE,
IS_PUBLISHED, PUBLISH_DATE) VALUES (?, ?, ?, ?, ?, ?, ?, ?)
[params=(long) 529800, (String) {529800}, (long) 9432, (long) 1, (long)
1, (null) null, (int) 0, (null) null]

1625  TRACE  [main] openjpa.jdbc.SQL - <t 28035001, conn 15038164> [0
ms] spent

1625  TRACE  [main] openjpa.jdbc.SQL - <t 28035001, conn 15038164>
batching prepstmnt 12675864 INSERT INTO DTS.DOCUMENT_FIELD
(DOCUMENT_NODE_ID, NAME, CONTENT_ID, VALUE, JDO_CLASS, JDO_LOCK) VALUES
(?, ?, ?, ?, ?, ?) [params=(long) 529802, (String) preferences, (long)
2117, (null) null, (int) 520, (int) 1]

1625  TRACE  [main] openjpa.jdbc.SQL - <t 28035001, conn 15038164> [0
ms] spent

1625  TRACE  [main] openjpa.jdbc.SQL - <t 28035001, conn 15038164>
batching prepstmnt 12675864 INSERT INTO DTS.DOCUMENT_FIELD
(DOCUMENT_NODE_ID, NAME, CONTENT_ID, VALUE, JDO_CLASS, JDO_LOCK) VALUES
(?, ?, ?, ?, ?, ?) [params=(long) 529801, (String) preferences, (long)
2116, (null) null, (int) 520, (int) 1]

1625  TRACE  [main] openjpa.jdbc.SQL - <t 28035001, conn 15038164> [0
ms] spent

1625  TRACE  [main] openjpa.jdbc.SQL - <t 28035001, conn 15038164>
batching prepstmnt 12675864 INSERT INTO DTS.DOCUMENT_FIELD
(DOCUMENT_NODE_ID, NAME, CONTENT_ID, VALUE, JDO_CLASS, JDO_LOCK) VALUES
(?, ?, ?, ?, ?, ?) [params=(long) 529802, (String) address, (long) 2117,
(null) null, (int) 510, (int) 1]

1625  TRACE  [main] openjpa.jdbc.SQL - <t 28035001, conn 15038164> [0
ms] spent

1625  TRACE  [main] openjpa.jdbc.SQL - <t 28035001, conn 15038164>
batching prepstmnt 12675864 INSERT INTO DTS.DOCUMENT_FIELD
(DOCUMENT_NODE_ID, NAME, CONTENT_ID, VALUE, JDO_CLASS, JDO_LOCK) VALUES
(?, ?, ?, ?, ?, ?) [params=(long) 529801, (String) address, (long) 2116,
(null) null, (int) 510, (int) 1]

1625  TRACE  [main] openjpa.jdbc.SQL - <t 28035001, conn 15038164> [0
ms] spent

1625  TRACE  [main] openjpa.jdbc.SQL - <t 28035001, conn 15038164>
executing prepstmnt 12675864 INSERT INTO DTS.DOCUMENT_FIELD
(DOCUMENT_NODE_ID, NAME, CONTENT_ID, VALUE, JDO_CLASS, JDO_LOCK) VALUES
(?, ?, ?, ?, ?, ?) [params=(long) 529801, (String) address, (long) 2116,
(null) null, (int) 510, (int) 1]

1640  TRACE  [main] openjpa.jdbc.SQL - <t 28035001, conn 15038164> [15
ms] spent

1640  TRACE  [main] openjpa.jdbc.SQL - <t 28035001, conn 15038164>
executing prepstmnt 6169134 INSERT INTO DTS.DOCUMENT_NODE
(DOCUMENT_NODE_ID, OWNER_DOCUMENT, LOCAL_ROOT, PARENT, NAME,
CREATE_DATE, UPDATE_DATE, UPDATE_USER, JDO_CLASS, JDO_LOCK) VALUES (?,
?, ?, ?, ?, ?, ?, ?, ?, ?) [params=(long) 529800, (long) 529800, (long)
529800, (null) null, (String) d529800, (Date) 2006-10-16, (Date)
2006-10-16, (String) dts.test, (int) 440, (int) 1]

1640  TRACE  [main] openjpa.jdbc.SQL - <t 28035001, conn 15038164> [0
ms] spent

1640  TRACE  [main] openjpa.jdbc.SQL - <t 28035001, conn 15038164>
executing prepstmnt 1440568 INSERT INTO DTS.DOCUMENT_NODE
(DOCUMENT_NODE_ID, OWNER_DOCUMENT, LOCAL_ROOT, PARENT,
PARENT_SORT_ORDER, NAME, CONTENT_ID, ORIGINAL_CONTENT, REFERENCE_NUMBER,
IS_GROUP, IS_SELECTED_BY_USER, IS_SELECTED_BY_RULE, CREATE_DATE,
UPDATE_DATE, UPDATE_USER, JDO_CLASS, JDO_LOCK) VALUES (?, ?, ?, ?, ?, ?,
?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?) [params=(long) 529801, (long) 529800,
(long) 529800, (long) 529800, (int) 0, (String) t1, (long) 2116, (null)
null, (null) null, (int) 0, (null) null, (int) 0, (Date) 2006-10-16,
(Date) 2006-10-16, (String) dts.test, (int) 430, (int) 1]

1656  TRACE  [main] openjpa.jdbc.SQL - <t 28035001, conn 15038164> [16
ms] spent

1656  TRACE  [main] openjpa.jdbc.SQL - <t 28035001, conn 15038164>
executing prepstmnt 1440568 INSERT INTO DTS.DOCUMENT_NODE
(DOCUMENT_NODE_ID, OWNER_DOCUMENT, LOCAL_ROOT, PARENT,
PARENT_SORT_ORDER, NAME, CONTENT_ID, ORIGINAL_CONTENT, REFERENCE_NUMBER,
IS_GROUP, IS_SELECTED_BY_USER, IS_SELECTED_BY_RULE, CREATE_DATE,
UPDATE_DATE, UPDATE_USER, JDO_CLASS, JDO_LOCK) VALUES (?, ?, ?, ?, ?, ?,
?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?) [params=(long) 529802, (long) 529800,
(long) 529800, (long) 529801, (int) 0, (String) t1.1, (long) 2117,
(null) null, (null) null, (int) 0, (null) null, (int) 0, (Date)
2006-10-16, (Date) 2006-10-16, (String) dts.test, (int) 430, (int) 1]

1656  TRACE  [main] openjpa.jdbc.SQL - <t 28035001, conn 15038164> [0
ms] spent

1656  TRACE  [main] openjpa.jdbc.SQL - <t 28035001, conn 15038164>
batching prepstmnt 18895884 INSERT INTO DTS.DOCUMENT_NODE_PROPERTY
(DOCUMENT_NODE_ID, NAME, VALUE, JDO_LOCK) VALUES (?, ?, ?, ?)
[params=(long) 529802, (String) IC, (String) IC1, (int) 1]

1656  TRACE  [main] openjpa.jdbc.SQL - <t 28035001, conn 15038164> [0
ms] spent

1656  TRACE  [main] openjpa.jdbc.SQL - <t 28035001, conn 15038164>
batching prepstmnt 18895884 INSERT INTO DTS.DOCUMENT_NODE_PROPERTY
(DOCUMENT_NODE_ID, NAME, VALUE, JDO_LOCK) VALUES (?, ?, ?, ?)
[params=(long) 529801, (String) ClauseId, (String) CRS, (int) 1]

1656  TRACE  [main] openjpa.jdbc.SQL - <t 28035001, conn 15038164> [0
ms] spent

1656  TRACE  [main] openjpa.jdbc.SQL - <t 28035001, conn 15038164>
batching prepstmnt 18895884 INSERT INTO DTS.DOCUMENT_NODE_PROPERTY
(DOCUMENT_NODE_ID, NAME, VALUE, JDO_LOCK) VALUES (?, ?, ?, ?)
[params=(long) 529802, (String) GC, (String) CRS, (int) 1]

1656  TRACE  [main] openjpa.jdbc.SQL - <t 28035001, conn 15038164> [0
ms] spent

1656  TRACE  [main] openjpa.jdbc.SQL - <t 28035001, conn 15038164>
batching prepstmnt 18895884 INSERT INTO DTS.DOCUMENT_NODE_PROPERTY
(DOCUMENT_NODE_ID, NAME, VALUE, JDO_LOCK) VALUES (?, ?, ?, ?)
[params=(long) 529800, (String) DocType, (String) RFP, (int) 1]

1656  TRACE  [main] openjpa.jdbc.SQL - <t 28035001, conn 15038164> [0
ms] spent

1656  TRACE  [main] openjpa.jdbc.SQL - <t 28035001, conn 15038164>
batching prepstmnt 18895884 INSERT INTO DTS.DOCUMENT_NODE_PROPERTY
(DOCUMENT_NODE_ID, NAME, VALUE, JDO_LOCK) VALUES (?, ?, ?, ?)
[params=(long) 529802, (String) GC, (String) EDUC, (int) 1]

1656  TRACE  [main] openjpa.jdbc.SQL - <t 28035001, conn 15038164> [0
ms] spent

1656  TRACE  [main] openjpa.jdbc.SQL - <t 28035001, conn 15038164>
batching prepstmnt 18895884 INSERT INTO DTS.DOCUMENT_NODE_PROPERTY
(DOCUMENT_NODE_ID, NAME, VALUE, JDO_LOCK) VALUES (?, ?, ?, ?)
[params=(long) 529801, (String) GC, (String) CRS, (int) 1]

1656  TRACE  [main] openjpa.jdbc.SQL - <t 28035001, conn 15038164> [0
ms] spent

1656  TRACE  [main] openjpa.jdbc.SQL - <t 28035001, conn 15038164>
batching prepstmnt 18895884 INSERT INTO DTS.DOCUMENT_NODE_PROPERTY
(DOCUMENT_NODE_ID, NAME, VALUE, JDO_LOCK) VALUES (?, ?, ?, ?)
[params=(long) 529802, (String) ClauseId, (String) CRS, (int) 1]

1656  TRACE  [main] openjpa.jdbc.SQL - <t 28035001, conn 15038164> [0
ms] spent

1656  TRACE  [main] openjpa.jdbc.SQL - <t 28035001, conn 15038164>
batching prepstmnt 18895884 INSERT INTO DTS.DOCUMENT_NODE_PROPERTY
(DOCUMENT_NODE_ID, NAME, VALUE, JDO_LOCK) VALUES (?, ?, ?, ?)
[params=(long) 529800, (String) IC, (String) NHLBI, (int) 1]

1656  TRACE  [main] openjpa.jdbc.SQL - <t 28035001, conn 15038164> [0
ms] spent

1656  TRACE  [main] openjpa.jdbc.SQL - <t 28035001, conn 15038164>
batching prepstmnt 18895884 INSERT INTO DTS.DOCUMENT_NODE_PROPERTY
(DOCUMENT_NODE_ID, NAME, VALUE, JDO_LOCK) VALUES (?, ?, ?, ?)
[params=(long) 529802, (String) IC, (String) IC2, (int) 1]

1656  TRACE  [main] openjpa.jdbc.SQL - <t 28035001, conn 15038164> [0
ms] spent

1656  TRACE  [main] openjpa.jdbc.SQL - <t 28035001, conn 15038164>
batching prepstmnt 18895884 INSERT INTO DTS.DOCUMENT_NODE_PROPERTY
(DOCUMENT_NODE_ID, NAME, VALUE, JDO_LOCK) VALUES (?, ?, ?, ?)
[params=(long) 529801, (String) GC, (String) EDUC, (int) 1]

1656  TRACE  [main] openjpa.jdbc.SQL - <t 28035001, conn 15038164> [0
ms] spent

1656  TRACE  [main] openjpa.jdbc.SQL - <t 28035001, conn 15038164>
batching prepstmnt 18895884 INSERT INTO DTS.DOCUMENT_NODE_PROPERTY
(DOCUMENT_NODE_ID, NAME, VALUE, JDO_LOCK) VALUES (?, ?, ?, ?)
[params=(long) 529800, (String) IC, (String) NCI, (int) 1]

1656  TRACE  [main] openjpa.jdbc.SQL - <t 28035001, conn 15038164> [0
ms] spent

1656  TRACE  [main] openjpa.jdbc.SQL - <t 28035001, conn 15038164>
batching prepstmnt 18895884 INSERT INTO DTS.DOCUMENT_NODE_PROPERTY
(DOCUMENT_NODE_ID, NAME, VALUE, JDO_LOCK) VALUES (?, ?, ?, ?)
[params=(long) 529801, (String) IC, (String) IC1, (int) 1]

1656  TRACE  [main] openjpa.jdbc.SQL - <t 28035001, conn 15038164> [0
ms] spent

1656  TRACE  [main] openjpa.jdbc.SQL - <t 28035001, conn 15038164>
batching prepstmnt 18895884 INSERT INTO DTS.DOCUMENT_NODE_PROPERTY
(DOCUMENT_NODE_ID, NAME, VALUE, JDO_LOCK) VALUES (?, ?, ?, ?)
[params=(long) 529801, (String) IC, (String) IC2, (int) 1]

1656  TRACE  [main] openjpa.jdbc.SQL - <t 28035001, conn 15038164> [0
ms] spent

1656  TRACE  [main] openjpa.jdbc.SQL - <t 28035001, conn 15038164>
executing prepstmnt 18895884 INSERT INTO DTS.DOCUMENT_NODE_PROPERTY
(DOCUMENT_NODE_ID, NAME, VALUE, JDO_LOCK) VALUES (?, ?, ?, ?)
[params=(long) 529801, (String) IC, (String) IC2, (int) 1]

1656  TRACE  [main] openjpa.jdbc.SQL - <t 28035001, conn 15038164> [0
ms] spent

 

 

 

 

<?xml version="1.0" encoding="UTF-8"?>

<!DOCTYPE jdo PUBLIC "-//Sun Microsystems, Inc.//DTD Java Data Objects
Metadata 2.0//EN" "http://java.sun.com/dtd/jdo_2_0.dtd">

<jdo>

  <package name="com.peacetech.dts.jdo">

 

    <interface name="com.peacetech.dts.ApplicationProperty"/>

 

    <class name="ApplicationPropertyImpl" table="APPLICATION_PROPERTY"
identity-type="application"
objectid-class="com.peacetech.dts.jdo.ApplicationPropertyImpl$OID">

      <implements name="com.peacetech.dts.ApplicationProperty"/>

      <version strategy="version-number" column="JDO_LOCK"/>

      <field name="name" primary-key="true" null-value="exception">

        <column name="NAME" jdbc-type="VARCHAR" sql-type="VARCHAR2"
length="32" scale="0"/>

      </field>

      <field name="value">

        <column name="VALUE" jdbc-type="VARCHAR" sql-type="VARCHAR2"
length="250" scale="0"/>

      </field>

      <field name="modifiable" null-value="exception">

        <column name="MODIFIABLE" jdbc-type="DECIMAL" sql-type="NUMBER"
length="1" scale="0"/>

      </field>

      <field name="runtimeModifiable" null-value="exception">

        <column name="RUNTIME_MODIFIABLE" jdbc-type="DECIMAL"
sql-type="NUMBER" length="1" scale="0"/>

      </field>

      <field name="description">

        <column name="DESCRIPTION" jdbc-type="VARCHAR"
sql-type="VARCHAR2" length="256" scale="0"/>

      </field>

    </class>

 

    <interface name="com.peacetech.dts.Attribute"/>

 

    <class name="AttributeImpl" table="ATTRIBUTE"
identity-type="application"
objectid-class="com.peacetech.dts.jdo.AttributeImpl$OID">

      <implements name="com.peacetech.dts.Attribute"/>

      <version strategy="version-number" column="JDO_LOCK"/>

      <field name="id" primary-key="true" null-value="exception">

        <column name="ATTRIBUTE_ID" jdbc-type="DECIMAL"
sql-type="NUMBER" length="12" scale="0"/>

      </field>

      <field name="name" null-value="exception">

        <column name="NAME" jdbc-type="VARCHAR" sql-type="VARCHAR2"
length="32" scale="0"/>

      </field>

      <field name="description">

        <column name="DESCRIPTION" jdbc-type="VARCHAR"
sql-type="VARCHAR2" length="200" scale="0"/>

      </field>

      <field name="active" null-value="exception">

        <column name="IS_ACTIVE" jdbc-type="DECIMAL" sql-type="NUMBER"
length="1" scale="0"/>

      </field>

      <field name="shared" null-value="exception">

        <column name="IS_SHARED" jdbc-type="DECIMAL" sql-type="NUMBER"
length="1" scale="0"/>

      </field>

      <field name="lookup" null-value="exception">

        <column name="IS_LOOKUP" jdbc-type="DECIMAL" sql-type="NUMBER"
length="1" scale="0"/>

      </field>

      <field name="lookupSortOrder" null-value="exception"
persistence-modifier="persistent" default-fetch-group="true">

        <extension vendor-name="kodo" key="externalizer"
value="toSqlValue"/>

        <extension vendor-name="kodo" key="factory"
value="fromSqlValue"/>

        <column name="LOOKUP_SORT_ORDER" jdbc-type="DECIMAL"
sql-type="NUMBER" length="9" scale="0"/>

      </field>

      <field name="multiValue" null-value="exception">

        <column name="IS_MULTI_VALUE" jdbc-type="DECIMAL"
sql-type="NUMBER" length="1" scale="0"/>

      </field>

      <field name="required" null-value="exception">

        <column name="IS_REQUIRED" jdbc-type="DECIMAL" sql-type="NUMBER"
length="1" scale="0"/>

      </field>

      <field name="defaultValue">

        <column name="DEFAULT_VALUE" jdbc-type="VARCHAR"
sql-type="VARCHAR2" length="100" scale="0"/>

      </field>

      <field name="lookupValues" table="ATTRIBUTE_LOOKUP"
mapped-by="attribute"> <!-- 1-N -->

        <collection
element-type="com.peacetech.dts.jdo.AttributeLookupImpl"/>

        <extension vendor-name="kodo" key="fetch-group"
value="AttributeImpl.lookupValues"/>

      </field>

    </class>

 

    <interface name="com.peacetech.dts.AttributeLookup"/>

 

    <class name="AttributeLookupImpl" table="ATTRIBUTE_LOOKUP"
identity-type="application"
objectid-class="com.peacetech.dts.jdo.AttributeLookupImpl$OID">

      <implements name="com.peacetech.dts.AttributeLookup"/>

      <version strategy="version-number" column="JDO_LOCK"/>

      <field name="attributeId" primary-key="true"
null-value="exception">

        <column name="ATTRIBUTE_ID" jdbc-type="DECIMAL"
sql-type="NUMBER" length="12" scale="0"/>

      </field>

      <field name="code" primary-key="true" null-value="exception">

        <column name="CODE" jdbc-type="VARCHAR" sql-type="VARCHAR2"
length="16" scale="0"/>

      </field>

      <field name="description">

        <column name="DESCRIPTION" jdbc-type="VARCHAR"
sql-type="VARCHAR2" length="120" scale="0"/>

      </field>

      <field name="shortDescription">

        <column name="SHORT_DESCRIPTION" jdbc-type="VARCHAR"
sql-type="VARCHAR2" length="64" scale="0"/>

      </field>

      <field name="sortOrder" null-value="exception">

        <column name="SORT_ORDER" jdbc-type="DECIMAL" sql-type="NUMBER"
length="9" scale="0"/>

      </field>

      <field name="attribute"  null-value="exception">  <!-- N-1 (ref)
-->

        <column name="ATTRIBUTE_ID" target="ATTRIBUTE_ID"
jdbc-type="DECIMAL" sql-type="NUMBER" length="12" scale="0"/>

        <extension vendor-name="kodo" key="fetch-group"
value="AttributeLookupImpl.attribute"/>

      </field>

    </class>

 

    <interface name="com.peacetech.dts.Component"/>

 

    <class name="ComponentImpl" table="COMPONENT"
identity-type="application"
persistence-capable-superclass="com.peacetech.dts.jdo.TemplateNodeImpl">

      <implements name="com.peacetech.dts.Component"/>

 

      <inheritance strategy="new-table">

        <join>

          <column name="TEMPLATE_NODE_ID" target="TEMPLATE_NODE_ID"/>

        </join>

        <discriminator value="110"/>

      </inheritance>

      <field name="released" null-value="exception">

        <column name="IS_RELEASED" jdbc-type="DECIMAL" sql-type="NUMBER"
length="1" scale="0"/>

      </field>

      <field name="effectiveDate">

        <column name="EFFECTIVE_DATE" jdbc-type="DATE" sql-type="DATE"
length="7" scale="0"/>

      </field>

      <field name="description">

        <column name="DESCRIPTION" jdbc-type="VARCHAR"
sql-type="VARCHAR2" length="200" scale="0"/>

      </field>

      <field name="preparer"  null-value="exception">  <!-- N-1 (ref)
-->

        <column name="PREPARER" target="EMPLOYEE_ID" jdbc-type="DECIMAL"
sql-type="NUMBER" length="12" scale="0"/>

        <extension vendor-name="kodo" key="fetch-group"
value="ComponentImpl.preparer"/>

      </field>

      <field name="orgUnit"  null-value="exception">  <!-- N-1 (ref) -->

        <column name="ORG_UNIT_ID" target="ORG_UNIT_ID"
jdbc-type="DECIMAL" sql-type="NUMBER" length="12" scale="0"/>

        <extension vendor-name="kodo" key="fetch-group"
value="ComponentImpl.orgUnit"/>

      </field>

      <field name="container"  null-value="exception">  <!-- N-1 (ref)
-->

        <column name="CONTAINER_ID" target="CONTAINER_ID"
jdbc-type="DECIMAL" sql-type="NUMBER" length="12" scale="0"/>

        <extension vendor-name="kodo" key="fetch-group"
value="ComponentImpl.container"/>

      </field>

       <field name="attributes" table="COMPONENT_ATTRIBUTE"> <!-- M-N
-->

        <collection element-type="com.peacetech.dts.jdo.AttributeImpl"/>

        <join>

          <column name="TEMPLATE_NODE_ID" target="TEMPLATE_NODE_ID"
jdbc-type="DECIMAL" sql-type="NUMBER" length="12" scale="0"/>

        </join>

        <element>

          <column name="ATTRIBUTE_ID" target="ATTRIBUTE_ID"
jdbc-type="DECIMAL" sql-type="NUMBER" length="12" scale="0"/>

        </element>

        <order column="SORT_ORDER"/>

        <extension vendor-name="kodo" key="fetch-group"
value="ComponentImpl.attributes"/>

      </field>

    </class>

  

    <interface name="com.peacetech.dts.Container"/>

 

    <class name="ContainerImpl" table="CONTAINER"
identity-type="application"
objectid-class="com.peacetech.dts.jdo.ContainerImpl$OID">

      <implements name="com.peacetech.dts.Container"/>

      <inheritance strategy="new-table">

        <discriminator strategy="value-map" value="300"
column="JDO_CLASS"/>

      </inheritance>

      <version strategy="version-number" column="JDO_LOCK"/>

      <field name="id" primary-key="true" null-value="exception">

        <column name="CONTAINER_ID" jdbc-type="DECIMAL"
sql-type="NUMBER" length="12" scale="0"/>

      </field>

      <field name="name" null-value="exception">

        <column name="NAME" jdbc-type="VARCHAR" sql-type="VARCHAR2"
length="48" scale="0"/>

      </field>

      <field name="description">

        <column name="DESCRIPTION" jdbc-type="VARCHAR"
sql-type="VARCHAR2" length="400" scale="0"/>

      </field>

      <field name="parent" >  <!-- N-1 (ref) -->

        <column name="PARENT" target="CONTAINER_ID" jdbc-type="DECIMAL"
sql-type="NUMBER" length="12" scale="0"/>

        <extension vendor-name="kodo" key="fetch-group"
value="ContainerImpl.parent"/>

      </field>

      <field name="subNodes" table="CONTAINER" mapped-by="parent"> <!--
1-N -->

        <collection element-type="com.peacetech.dts.jdo.ContainerImpl"/>

        <extension vendor-name="kodo" key="fetch-group"
value="ContainerImpl.subNodes"/>

      </field>

      <field name="properties" table="CONTAINER_PROPERTY"
mapped-by="container"> <!-- 1-N -->

        <collection
element-type="com.peacetech.dts.jdo.ContainerPropertyImpl"/>

        <extension vendor-name="kodo" key="fetch-group"
value="ContainerImpl.properties"/>

      </field>

    </class>

 

    <interface name="com.peacetech.dts.ContainerProperty"/>

 

    <class name="ContainerPropertyImpl" table="CONTAINER_PROPERTY"
identity-type="application"
objectid-class="com.peacetech.dts.jdo.ContainerPropertyImpl$OID">

      <implements name="com.peacetech.dts.ContainerProperty"/>

      <version strategy="version-number" column="JDO_LOCK"/>

      <field name="containerId" primary-key="true"
null-value="exception">

        <column name="CONTAINER_ID" jdbc-type="DECIMAL"
sql-type="NUMBER" length="12" scale="0"/>

      </field>

      <field name="nameId" primary-key="true" null-value="exception">

        <column name="NAME" jdbc-type="VARCHAR" sql-type="VARCHAR2"
length="32" scale="0"/>

      </field>

      <field name="value" primary-key="true" null-value="exception">

        <column name="VALUE" jdbc-type="VARCHAR" sql-type="VARCHAR2"
length="32" scale="0"/>

      </field>

      <field name="container"  null-value="exception">  <!-- N-1 (ref)
-->

        <column name="CONTAINER_ID" target="CONTAINER_ID"
jdbc-type="DECIMAL" sql-type="NUMBER" length="12" scale="0"/>

        <extension vendor-name="kodo" key="fetch-group"
value="ContainerPropertyImpl.container"/>

      </field>

      <field name="definition"  null-value="exception">  <!-- N-1 (ref)
-->

        <column name="NAME" target="NAME" jdbc-type="VARCHAR"
sql-type="VARCHAR2" length="32" scale="0"/>

        <extension vendor-name="kodo" key="fetch-group"
value="ContainerPropertyImpl.definition"/>

      </field>

    </class>

 

    <interface name="com.peacetech.dts.Content"/>

 

    <class name="ContentImpl" table="CONTENT"
identity-type="application"
objectid-class="com.peacetech.dts.jdo.ContentImpl$OID">

      <implements name="com.peacetech.dts.Content"/>

      <inheritance strategy="new-table">

        <discriminator strategy="value-map" value="200"
column="JDO_CLASS"/>

      </inheritance>

      <version strategy="version-number" column="JDO_LOCK"/>

      <field name="id" primary-key="true" null-value="exception">

        <column name="CONTENT_ID" jdbc-type="DECIMAL" sql-type="NUMBER"
length="12" scale="0"/>

      </field>

      <field name="tocTitle">

        <column name="TOC_TITLE" jdbc-type="VARCHAR" sql-type="VARCHAR2"
length="500" scale="0"/>

      </field>

      <field name="shortTitle">

        <column name="SHORT_TITLE" jdbc-type="VARCHAR"
sql-type="VARCHAR2" length="80" scale="0"/>

      </field>

      <field name="longTitle">

        <column name="LONG_TITLE" jdbc-type="VARCHAR"
sql-type="VARCHAR2" length="200" scale="0"/>

      </field>

      <field name="text">

        <column name="TEXT" jdbc-type="CLOB" sql-type="CLOB" length="-1"
scale="0"/>

      </field>

      <field name="instructions">

        <column name="INSTRUCTIONS" jdbc-type="CLOB" sql-type="CLOB"
length="-1" scale="0"/>

      </field>

      <field name="fields" table="CONTENT_FIELD" mapped-by="content">
<!-- 1-N -->

        <collection
element-type="com.peacetech.dts.jdo.ContentFieldImpl"/>

        <order column="SORT_ORDER"/>

        <extension vendor-name="kodo" key="fetch-group"
value="ContentImpl.fields"/>

      </field>

      <field name="rules" table="TEMPLATE_RULE" mapped-by="content">
<!-- 1-N -->

        <collection
element-type="com.peacetech.dts.jdo.TemplateRuleImpl"/>

        <order column="CONTENT_SORT_ORDER"/>

        <extension vendor-name="kodo" key="fetch-group"
value="ContentImpl.rules"/>

      </field>

    </class>

 

    <interface name="com.peacetech.dts.ContentField"/>

 

    <class name="ContentFieldImpl" table="CONTENT_FIELD"
identity-type="application"
objectid-class="com.peacetech.dts.jdo.ContentFieldImpl$OID">

      <implements name="com.peacetech.dts.ContentField"/>

      <version strategy="version-number" column="JDO_LOCK"/>

      <field name="contentId" primary-key="true" null-value="exception">

        <column name="CONTENT_ID" jdbc-type="DECIMAL" sql-type="NUMBER"
length="12" scale="0"/>

      </field>

      <field name="name" primary-key="true" null-value="exception">

        <column name="NAME" jdbc-type="VARCHAR" sql-type="VARCHAR2"
length="40" scale="0"/>

      </field>

      <field name="dataType">

        <column name="DATA_TYPE" jdbc-type="VARCHAR" sql-type="VARCHAR2"
length="20" scale="0"/>

      </field>

      <field name="format">

        <column name="FORMAT" jdbc-type="VARCHAR" sql-type="VARCHAR2"
length="30" scale="0"/>

      </field>

      <field name="required">

        <column name="REQUIRED" jdbc-type="VARCHAR" sql-type="VARCHAR2"
length="80" scale="0"/>

      </field>

      <field name="label">

        <column name="LABEL" jdbc-type="VARCHAR" sql-type="VARCHAR2"
length="60" scale="0"/>

      </field>

      <field name="attributes" null-value="exception"
persistence-modifier="persistent" default-fetch-group="true">

        <extension vendor-name="kodo" key="externalizer"
value="com.peacetech.dts.jdo.helpers.Externalizers.fromStringMap"/>

        <extension vendor-name="kodo" key="factory"
value="com.peacetech.dts.jdo.helpers.Externalizers.toStringMap"/>

        <column name="ATTRIBUTES" jdbc-type="VARCHAR"
sql-type="VARCHAR2" length="512" scale="0"/>

      </field>

      <field name="multiValue" null-value="exception">

        <column name="IS_MULTI_VALUE" jdbc-type="DECIMAL"
sql-type="NUMBER" length="1" scale="0"/>

      </field>

      <field name="inputValues" null-value="exception"
persistence-modifier="persistent" default-fetch-group="true">

        <extension vendor-name="kodo" key="externalizer"
value="com.peacetech.dts.jdo.helpers.Externalizers.fromStringMap"/>

        <extension vendor-name="kodo" key="factory"
value="com.peacetech.dts.jdo.helpers.Externalizers.toStringMap"/>

        <column name="INPUT_VALUES" jdbc-type="CLOB" sql-type="CLOB"
length="-1" scale="0"/>

      </field>

      <field name="content"  null-value="exception">  <!-- N-1 (ref) -->

        <column name="CONTENT_ID" target="CONTENT_ID"
jdbc-type="DECIMAL" sql-type="NUMBER" length="12" scale="0"/>

        <extension vendor-name="kodo" key="fetch-group"
value="ContentFieldImpl.content"/>

      </field>

    </class>

 

    <interface name="com.peacetech.dts.Document"/>

 

    <class name="DocumentImpl" table="DOCUMENT"
identity-type="application"
persistence-capable-superclass="com.peacetech.dts.jdo.DocumentNodeImpl">

      <implements name="com.peacetech.dts.Document"/>

 

      <inheritance strategy="new-table">

        <join>

          <column name="DOCUMENT_NODE_ID" target="DOCUMENT_NODE_ID"/>

        </join>

        <discriminator value="440"/>

      </inheritance>

      <field name="documentNumber" null-value="exception">

        <column name="DOCUMENT_NUMBER" jdbc-type="VARCHAR"
sql-type="VARCHAR2" length="32" scale="0"/>

      </field>

      <field name="title">

        <column name="TITLE" jdbc-type="VARCHAR" sql-type="VARCHAR2"
length="200" scale="0"/>

      </field>

      <field name="published" null-value="exception">

        <column name="IS_PUBLISHED" jdbc-type="DECIMAL"
sql-type="NUMBER" length="1" scale="0"/>

      </field>

      <field name="publishDate">

        <column name="PUBLISH_DATE" jdbc-type="DATE" sql-type="DATE"
length="7" scale="0"/>

      </field>

      <field name="preparer"  null-value="exception">  <!-- N-1 (ref)
-->

        <column name="PREPARER" target="EMPLOYEE_ID" jdbc-type="DECIMAL"
sql-type="NUMBER" length="12" scale="0"/>

        <extension vendor-name="kodo" key="fetch-group"
value="DocumentImpl.preparer"/>

      </field>

      <field name="orgUnit"  null-value="exception">  <!-- N-1 (ref) -->

        <column name="ORG_UNIT_ID" target="ORG_UNIT_ID"
jdbc-type="DECIMAL" sql-type="NUMBER" length="12" scale="0"/>

        <extension vendor-name="kodo" key="fetch-group"
value="DocumentImpl.orgUnit"/>

      </field>

      <field name="attributes" table="DOCUMENT_ATTRIBUTE"
mapped-by="document"> <!-- 1-N -->

        <collection
element-type="com.peacetech.dts.jdo.DocumentAttributeImpl"/>

        <extension vendor-name="kodo" key="fetch-group"
value="DocumentImpl.attributes"/>

      </field>

      <field name="relatedDocuments" table="RELATED_DOCUMENT"
mapped-by="source"> <!-- 1-N -->

        <collection
element-type="com.peacetech.dts.jdo.RelatedDocumentImpl"/>

        <extension vendor-name="kodo" key="fetch-group"
value="DocumentImpl.relatedDocuments"/>

      </field>

      <field name="relatedToDocuments" table="RELATED_DOCUMENT"
mapped-by="target"> <!-- 1-N -->

        <collection
element-type="com.peacetech.dts.jdo.RelatedDocumentImpl"/>

        <extension vendor-name="kodo" key="fetch-group"
value="DocumentImpl.relatedToDocuments"/>

      </field>

      <field name="template"  null-value="exception">  <!-- N-1 (ref)
-->

        <column name="TEMPLATE_ID" target="TEMPLATE_NODE_ID"
jdbc-type="DECIMAL" sql-type="NUMBER" length="12" scale="0"/>

        <extension vendor-name="kodo" key="fetch-group"
value="DocumentImpl.template"/>

      </field>

    </class>

 

    <interface name="com.peacetech.dts.DocumentAttribute"/>

 

    <class name="DocumentAttributeImpl" table="DOCUMENT_ATTRIBUTE"
identity-type="application"
objectid-class="com.peacetech.dts.jdo.DocumentAttributeImpl$OID">

      <implements name="com.peacetech.dts.DocumentAttribute"/>

      <version strategy="version-number" column="JDO_LOCK"/>

      <field name="documentNodeId" primary-key="true"
null-value="exception">

        <column name="DOCUMENT_NODE_ID" jdbc-type="DECIMAL"
sql-type="NUMBER" length="12" scale="0"/>

      </field>

      <field name="attributeId" primary-key="true"
null-value="exception">

        <column name="ATTRIBUTE_ID" jdbc-type="DECIMAL"
sql-type="NUMBER" length="12" scale="0"/>

      </field>

      <field name="value">

        <column name="VALUE" jdbc-type="VARCHAR" sql-type="VARCHAR2"
length="100" scale="0"/>

      </field>

      <field name="attribute"  null-value="exception">  <!-- N-1 (ref)
-->

        <column name="ATTRIBUTE_ID" target="ATTRIBUTE_ID"
jdbc-type="DECIMAL" sql-type="NUMBER" length="12" scale="0"/>

        <extension vendor-name="kodo" key="fetch-group"
value="DocumentAttributeImpl.attribute"/>

      </field>

      <field name="document"  null-value="exception">  <!-- N-1 (ref)
-->

        <column name="DOCUMENT_NODE_ID" target="DOCUMENT_NODE_ID"
jdbc-type="DECIMAL" sql-type="NUMBER" length="12" scale="0"/>

        <extension vendor-name="kodo" key="fetch-group"
value="DocumentAttributeImpl.document"/>

      </field>

    </class>

 

    <interface name="com.peacetech.dts.DocumentField"/>

 

    <class name="DocumentFieldImpl" table="DOCUMENT_FIELD"
identity-type="application"
objectid-class="com.peacetech.dts.jdo.DocumentFieldImpl$OID">

      <implements name="com.peacetech.dts.DocumentField"/>

      <inheritance strategy="new-table">

        <discriminator strategy="value-map" value="500"
column="JDO_CLASS"/>

      </inheritance>

      <version strategy="version-number" column="JDO_LOCK"/>

      <field name="documentNodeId" primary-key="true"
null-value="exception">

        <column name="DOCUMENT_NODE_ID" jdbc-type="DECIMAL"
sql-type="NUMBER" length="12" scale="0"/>

      </field>

      <field name="nameId" primary-key="true" null-value="exception">

        <column name="NAME" jdbc-type="VARCHAR" sql-type="VARCHAR2"
length="40" scale="0"/>

      </field>

      <field name="definition"  null-value="exception">  <!-- N-1 (ref)
-->

        <column name="CONTENT_ID" target="CONTENT_ID"
jdbc-type="DECIMAL" sql-type="NUMBER" length="12" scale="0"/>

        <column name="NAME" target="NAME" jdbc-type="VARCHAR"
sql-type="VARCHAR2" length="40" scale="0"/>

        <extension vendor-name="kodo" key="fetch-group"
value="DocumentFieldImpl.definition"/>

      </field>

      <field name="topic"  null-value="exception">  <!-- N-1 (ref) -->

        <column name="DOCUMENT_NODE_ID" target="DOCUMENT_NODE_ID"
jdbc-type="DECIMAL" sql-type="NUMBER" length="12" scale="0"/>

        <extension vendor-name="kodo" key="fetch-group"
value="DocumentFieldImpl.topic"/>

      </field>

    </class>

 

    <interface name="com.peacetech.dts.DocumentNode"/>

 

    <class name="DocumentNodeImpl" table="DOCUMENT_NODE"
identity-type="application"
objectid-class="com.peacetech.dts.jdo.DocumentNodeImpl$OID">

      <implements name="com.peacetech.dts.DocumentNode"/>

      <inheritance strategy="new-table">

        <discriminator strategy="value-map" value="400"
column="JDO_CLASS"/>

      </inheritance>

      <version strategy="version-number" column="JDO_LOCK"/>

      <field name="id" primary-key="true" null-value="exception">

        <column name="DOCUMENT_NODE_ID" jdbc-type="DECIMAL"
sql-type="NUMBER" length="12" scale="0"/>

      </field>

      <field name="name" null-value="exception">

        <column name="NAME" jdbc-type="VARCHAR" sql-type="VARCHAR2"
length="64" scale="0"/>

      </field>

      <field name="createDate">

        <column name="CREATE_DATE" jdbc-type="DATE" sql-type="DATE"
length="7" scale="0"/>

      </field>

      <field name="updateDate">

        <column name="UPDATE_DATE" jdbc-type="DATE" sql-type="DATE"
length="7" scale="0"/>

      </field>

      <field name="updateUser">

        <column name="UPDATE_USER" jdbc-type="VARCHAR"
sql-type="VARCHAR2" length="32" scale="0"/>

      </field>

      <field name="localRoot"  null-value="exception">  <!-- N-1 (ref)
-->

        <column name="LOCAL_ROOT" target="DOCUMENT_NODE_ID"
jdbc-type="DECIMAL" sql-type="NUMBER" length="12" scale="0"/>

        <extension vendor-name="kodo" key="fetch-group"
value="DocumentNodeImpl.localRoot"/>

      </field>

      <field name="parent" >  <!-- N-1 (ref) -->

        <column name="PARENT" target="DOCUMENT_NODE_ID"
jdbc-type="DECIMAL" sql-type="NUMBER" length="12" scale="0"/>

        <extension vendor-name="kodo" key="fetch-group"
value="DocumentNodeImpl.parent"/>

      </field>

      <field name="subNodes" table="DOCUMENT_NODE" mapped-by="parent">
<!-- 1-N -->

        <collection
element-type="com.peacetech.dts.jdo.DocumentNodeImpl"/>

        <order column="PARENT_SORT_ORDER"/>

        <extension vendor-name="kodo" key="fetch-group"
value="DocumentNodeImpl.subNodes"/>

      </field>

      <field name="properties" table="DOCUMENT_NODE_PROPERTY"
mapped-by="documentNode"> <!-- 1-N -->

        <collection
element-type="com.peacetech.dts.jdo.DocumentNodePropertyImpl"/>

        <extension vendor-name="kodo" key="fetch-group"
value="DocumentNodeImpl.properties"/>

      </field>

      <field name="ownerDocument"  null-value="exception">  <!-- N-1
(ref) -->

        <column name="OWNER_DOCUMENT" target="DOCUMENT_NODE_ID"
jdbc-type="DECIMAL" sql-type="NUMBER" length="12" scale="0"/>

        <extension vendor-name="kodo" key="fetch-group"
value="DocumentNodeImpl.ownerDocument"/>

      </field>

    </class>

 

    <interface name="com.peacetech.dts.DocumentNodeProperty"/>

 

    <class name="DocumentNodePropertyImpl"
table="DOCUMENT_NODE_PROPERTY" identity-type="application"
objectid-class="com.peacetech.dts.jdo.DocumentNodePropertyImpl$OID">

      <implements name="com.peacetech.dts.DocumentNodeProperty"/>

      <version strategy="version-number" column="JDO_LOCK"/>

      <field name="documentNodeId" primary-key="true"
null-value="exception">

        <column name="DOCUMENT_NODE_ID" jdbc-type="DECIMAL"
sql-type="NUMBER" length="12" scale="0"/>

      </field>

      <field name="nameId" primary-key="true" null-value="exception">

        <column name="NAME" jdbc-type="VARCHAR" sql-type="VARCHAR2"
length="32" scale="0"/>

      </field>

      <field name="value" primary-key="true" null-value="exception">

        <column name="VALUE" jdbc-type="VARCHAR" sql-type="VARCHAR2"
length="32" scale="0"/>

      </field>

      <field name="documentNode"  null-value="exception">  <!-- N-1
(ref) -->

        <column name="DOCUMENT_NODE_ID" target="DOCUMENT_NODE_ID"
jdbc-type="DECIMAL" sql-type="NUMBER" length="12" scale="0"/>

        <extension vendor-name="kodo" key="fetch-group"
value="DocumentNodePropertyImpl.documentNode"/>

      </field>

      <field name="definition"  null-value="exception">  <!-- N-1 (ref)
-->

        <column name="NAME" target="NAME" jdbc-type="VARCHAR"
sql-type="VARCHAR2" length="32" scale="0"/>

        <extension vendor-name="kodo" key="fetch-group"
value="DocumentNodePropertyImpl.definition"/>

      </field>

    </class>

 

    <interface name="com.peacetech.dts.DocumentRelationshipType"/>

 

    <class name="DocumentRelationshipTypeImpl"
table="DOCUMENT_RELATIONSHIP_TYPE" identity-type="application"
objectid-class="com.peacetech.dts.jdo.DocumentRelationshipTypeImpl$OID">

      <implements name="com.peacetech.dts.DocumentRelationshipType"/>

      <version strategy="version-number" column="JDO_LOCK"/>

      <field name="id" primary-key="true" null-value="exception">

        <column name="DOCUMENT_RELATIONSHIP_TYPE" jdbc-type="DECIMAL"
sql-type="NUMBER" length="9" scale="0"/>

      </field>

      <field name="description">

        <column name="DESCRIPTION" jdbc-type="VARCHAR"
sql-type="VARCHAR2" length="120" scale="0"/>

      </field>

    </class>

 

    <interface name="com.peacetech.dts.Employee"/>

 

    <class name="EmployeeImpl" table="EMPLOYEE"
identity-type="application"
objectid-class="com.peacetech.dts.jdo.EmployeeImpl$OID">

      <implements name="com.peacetech.dts.Employee"/>

      <inheritance strategy="new-table">

        <discriminator strategy="value-map" value="610"
column="JDO_CLASS"/>

      </inheritance>

      <version strategy="version-number" column="JDO_LOCK"/>

      <field name="id" primary-key="true" null-value="exception">

        <column name="EMPLOYEE_ID" jdbc-type="DECIMAL" sql-type="NUMBER"
length="12" scale="0"/>

      </field>

      <field name="firstName">

        <column name="FIRST_NAME" jdbc-type="VARCHAR"
sql-type="VARCHAR2" length="32" scale="0"/>

      </field>

      <field name="lastName">

        <column name="LAST_NAME" jdbc-type="VARCHAR" sql-type="VARCHAR2"
length="32" scale="0"/>

      </field>

      <field name="middleName">

        <column name="MIDDLE_NAME" jdbc-type="VARCHAR"
sql-type="VARCHAR2" length="32" scale="0"/>

      </field>

    </class>

 

    <interface name="com.peacetech.dts.OrgUnit"/>

 

    <class name="OrgUnitImpl" table="ORG_UNIT"
identity-type="application"
objectid-class="com.peacetech.dts.jdo.OrgUnitImpl$OID">

      <implements name="com.peacetech.dts.OrgUnit"/>

      <inheritance strategy="new-table">

        <discriminator strategy="value-map" value="600"
column="JDO_CLASS"/>

      </inheritance>

      <version strategy="version-number" column="JDO_LOCK"/>

      <field name="id" primary-key="true" null-value="exception">

        <column name="ORG_UNIT_ID" jdbc-type="DECIMAL" sql-type="NUMBER"
length="12" scale="0"/>

      </field>

      <field name="name">

        <column name="NAME" jdbc-type="VARCHAR" sql-type="VARCHAR2"
length="128" scale="0"/>

      </field>

    </class>

 

    <interface name="com.peacetech.dts.PropertyDefinition"/>

 

    <class name="PropertyDefinitionImpl" table="PROPERTY_DEFINITION"
identity-type="application"
objectid-class="com.peacetech.dts.jdo.PropertyDefinitionImpl$OID">

      <implements name="com.peacetech.dts.PropertyDefinition"/>

      <version strategy="version-number" column="JDO_LOCK"/>

      <field name="name" primary-key="true" null-value="exception">

        <column name="NAME" jdbc-type="VARCHAR" sql-type="VARCHAR2"
length="32" scale="0"/>

      </field>

      <field name="description">

        <column name="DESCRIPTION" jdbc-type="VARCHAR"
sql-type="VARCHAR2" length="200" scale="0"/>

      </field>

      <field name="active" null-value="exception">

        <column name="IS_ACTIVE" jdbc-type="DECIMAL" sql-type="NUMBER"
length="1" scale="0"/>

      </field>

      <field name="lookup" null-value="exception">

        <column name="IS_LOOKUP" jdbc-type="DECIMAL" sql-type="NUMBER"
length="1" scale="0"/>

      </field>

      <field name="lookupSortOrder" null-value="exception"
persistence-modifier="persistent" default-fetch-group="true">

        <extension vendor-name="kodo" key="externalizer"
value="toSqlValue"/>

        <extension vendor-name="kodo" key="factory"
value="fromSqlValue"/>

        <column name="LOOKUP_SORT_ORDER" jdbc-type="DECIMAL"
sql-type="NUMBER" length="9" scale="0"/>

      </field>

      <field name="multiValue" null-value="exception">

        <column name="IS_MULTI_VALUE" jdbc-type="DECIMAL"
sql-type="NUMBER" length="1" scale="0"/>

      </field>

      <field name="defaultValue">

        <column name="DEFAULT_VALUE" jdbc-type="VARCHAR"
sql-type="VARCHAR2" length="32" scale="0"/>

      </field>

      <field name="lookupValues" table="PROPERTY_LOOKUP"
mapped-by="definition"> <!-- 1-N -->

        <collection
element-type="com.peacetech.dts.jdo.PropertyLookupImpl"/>

        <extension vendor-name="kodo" key="fetch-group"
value="PropertyDefinitionImpl.lookupValues"/>

      </field>

    </class>

 

    <interface name="com.peacetech.dts.PropertyLookup"/>

 

    <class name="PropertyLookupImpl" table="PROPERTY_LOOKUP"
identity-type="application"
objectid-class="com.peacetech.dts.jdo.PropertyLookupImpl$OID">

      <implements name="com.peacetech.dts.PropertyLookup"/>

      <version strategy="version-number" column="JDO_LOCK"/>

      <field name="nameId" primary-key="true" null-value="exception">

        <column name="NAME" jdbc-type="VARCHAR" sql-type="VARCHAR2"
length="32" scale="0"/>

      </field>

      <field name="code" primary-key="true" null-value="exception">

        <column name="CODE" jdbc-type="VARCHAR" sql-type="VARCHAR2"
length="16" scale="0"/>

      </field>

      <field name="description">

        <column name="DESCRIPTION" jdbc-type="VARCHAR"
sql-type="VARCHAR2" length="120" scale="0"/>

      </field>

      <field name="shortDescription">

        <column name="SHORT_DESCRIPTION" jdbc-type="VARCHAR"
sql-type="VARCHAR2" length="64" scale="0"/>

      </field>

      <field name="sortOrder" null-value="exception">

        <column name="SORT_ORDER" jdbc-type="DECIMAL" sql-type="NUMBER"
length="9" scale="0"/>

      </field>

      <field name="active" null-value="exception">

        <column name="IS_ACTIVE" jdbc-type="DECIMAL" sql-type="NUMBER"
length="1" scale="0"/>

      </field>

      <field name="definition"  null-value="exception">  <!-- N-1 (ref)
-->

        <column name="NAME" target="NAME" jdbc-type="VARCHAR"
sql-type="VARCHAR2" length="32" scale="0"/>

        <extension vendor-name="kodo" key="fetch-group"
value="PropertyLookupImpl.definition"/>

      </field>

    </class>

 

    <interface name="com.peacetech.dts.RelatedDocument"/>

 

    <class name="RelatedDocumentImpl" table="RELATED_DOCUMENT"
identity-type="application"
objectid-class="com.peacetech.dts.jdo.RelatedDocumentImpl$OID">

      <implements name="com.peacetech.dts.RelatedDocument"/>

      <version strategy="version-number" column="JDO_LOCK"/>

      <field name="sourceId" primary-key="true" null-value="exception">

        <column name="SOURCE" jdbc-type="DECIMAL" sql-type="NUMBER"
length="12" scale="0"/>

      </field>

      <field name="relationshipTypeId" primary-key="true"
null-value="exception">

        <column name="RELATIONSHIP_TYPE" jdbc-type="DECIMAL"
sql-type="NUMBER" length="9" scale="0"/>

      </field>

      <field name="targetId" primary-key="true" null-value="exception">

        <column name="TARGET" jdbc-type="DECIMAL" sql-type="NUMBER"
length="12" scale="0"/>

      </field>

      <field name="notes">

        <column name="NOTES" jdbc-type="VARCHAR" sql-type="VARCHAR2"
length="120" scale="0"/>

      </field>

      <field name="source"  null-value="exception">  <!-- N-1 (ref) -->

        <column name="SOURCE" target="DOCUMENT_NODE_ID"
jdbc-type="DECIMAL" sql-type="NUMBER" length="12" scale="0"/>

        <extension vendor-name="kodo" key="fetch-group"
value="RelatedDocumentImpl.source"/>

      </field>

      <field name="target"  null-value="exception">  <!-- N-1 (ref) -->

        <column name="TARGET" target="DOCUMENT_NODE_ID"
jdbc-type="DECIMAL" sql-type="NUMBER" length="12" scale="0"/>

        <extension vendor-name="kodo" key="fetch-group"
value="RelatedDocumentImpl.target"/>

      </field>

      <field name="relationshipType"  null-value="exception">  <!-- N-1
(ref) -->

        <column name="RELATIONSHIP_TYPE"
target="DOCUMENT_RELATIONSHIP_TYPE" jdbc-type="DECIMAL"
sql-type="NUMBER" length="9" scale="0"/>

        <extension vendor-name="kodo" key="fetch-group"
value="RelatedDocumentImpl.relationshipType"/>

      </field>

    </class>

 

    <interface name="com.peacetech.dts.TemplateNode"/>

 

    <class name="TemplateNodeImpl" table="TEMPLATE_NODE"
identity-type="application"
objectid-class="com.peacetech.dts.jdo.TemplateNodeImpl$OID">

      <extension vendor-name="kodo" key="subclass-fetch-mode"
value="none"/>

      <implements name="com.peacetech.dts.TemplateNode"/>

      <inheritance strategy="new-table">

        <discriminator strategy="value-map" value="100"
column="JDO_CLASS"/>

      </inheritance>

      <version strategy="version-number" column="JDO_LOCK"/>

      <field name="id" primary-key="true" null-value="exception">

        <column name="TEMPLATE_NODE_ID" jdbc-type="DECIMAL"
sql-type="NUMBER" length="12" scale="0"/>

      </field>

      <field name="name" null-value="exception">

        <column name="NAME" jdbc-type="VARCHAR" sql-type="VARCHAR2"
length="64" scale="0"/>

      </field>

      <field name="createDate">

        <column name="CREATE_DATE" jdbc-type="DATE" sql-type="DATE"
length="7" scale="0"/>

      </field>

      <field name="updateDate">

        <column name="UPDATE_DATE" jdbc-type="DATE" sql-type="DATE"
length="7" scale="0"/>

      </field>

      <field name="updateUser">

        <column name="UPDATE_USER" jdbc-type="VARCHAR"
sql-type="VARCHAR2" length="32" scale="0"/>

      </field>

      <field name="parent" >  <!-- N-1 (ref) -->

        <column name="PARENT" target="TEMPLATE_NODE_ID"
jdbc-type="DECIMAL" sql-type="NUMBER" length="12" scale="0"/>

        <extension vendor-name="kodo" key="fetch-group"
value="TemplateNodeImpl.parent"/>

      </field>

      <field name="subNodes" table="TEMPLATE_NODE" mapped-by="parent">
<!-- 1-N -->

        <collection
element-type="com.peacetech.dts.jdo.TemplateNodeImpl"/>

        <order column="PARENT_SORT_ORDER"/>

        <extension vendor-name="kodo" key="fetch-group"
value="TemplateNodeImpl.subNodes"/>

      </field>

      <field name="priorVersion" >  <!-- N-1 (ref) -->

        <column name="PRIOR_VERSION" target="TEMPLATE_NODE_ID"
jdbc-type="DECIMAL" sql-type="NUMBER" length="12" scale="0"/>

        <extension vendor-name="kodo" key="fetch-group"
value="TemplateNodeImpl.priorVersion"/>

      </field>

      <field name="nextVersion" table="TEMPLATE_NODE"
mapped-by="priorVersion"> <!-- 1-1 -->

        <extension vendor-name="kodo" key="fetch-group"
value="TemplateNodeImpl.nextVersion"/>

      </field>

      <field name="properties" table="TEMPLATE_NODE_PROPERTY"
mapped-by="templateNode"> <!-- 1-N -->

        <collection
element-type="com.peacetech.dts.jdo.TemplateNodePropertyImpl"/>

        <extension vendor-name="kodo" key="fetch-group"
value="TemplateNodeImpl.properties"/>

      </field>

      <field name="ownerComponent"  null-value="exception">  <!-- N-1
(ref) -->

        <column name="OWNER_COMPONENT" target="TEMPLATE_NODE_ID"
jdbc-type="DECIMAL" sql-type="NUMBER" length="12" scale="0"/>

        <extension vendor-name="kodo" key="fetch-group"
value="TemplateNodeImpl.ownerComponent"/>

      </field>

    </class>

 

    <interface name="com.peacetech.dts.TemplateNodeProperty"/>

 

    <class name="TemplateNodePropertyImpl"
table="TEMPLATE_NODE_PROPERTY" identity-type="application"
objectid-class="com.peacetech.dts.jdo.TemplateNodePropertyImpl$OID">

      <implements name="com.peacetech.dts.TemplateNodeProperty"/>

      <version strategy="version-number" column="JDO_LOCK"/>

      <field name="templateNodeId" primary-key="true"
null-value="exception">

        <column name="TEMPLATE_NODE_ID" jdbc-type="DECIMAL"
sql-type="NUMBER" length="12" scale="0"/>

      </field>

      <field name="nameId" primary-key="true" null-value="exception">

        <column name="NAME" jdbc-type="VARCHAR" sql-type="VARCHAR2"
length="32" scale="0"/>

      </field>

      <field name="value" primary-key="true" null-value="exception">

        <column name="VALUE" jdbc-type="VARCHAR" sql-type="VARCHAR2"
length="32" scale="0"/>

      </field>

      <field name="definition"  null-value="exception">  <!-- N-1 (ref)
-->

        <column name="NAME" target="NAME" jdbc-type="VARCHAR"
sql-type="VARCHAR2" length="32" scale="0"/>

        <extension vendor-name="kodo" key="fetch-group"
value="TemplateNodePropertyImpl.definition"/>

      </field>

      <field name="templateNode"  null-value="exception">  <!-- N-1
(ref) -->

        <column name="TEMPLATE_NODE_ID" target="TEMPLATE_NODE_ID"
jdbc-type="DECIMAL" sql-type="NUMBER" length="12" scale="0"/>

        <extension vendor-name="kodo" key="fetch-group"
value="TemplateNodePropertyImpl.templateNode"/>

      </field>

    </class>

 

    <interface name="com.peacetech.dts.TemplateRule"/>

 

    <class name="TemplateRuleImpl" table="TEMPLATE_RULE"
identity-type="application"
objectid-class="com.peacetech.dts.jdo.TemplateRuleImpl$OID">

      <implements name="com.peacetech.dts.TemplateRule"/>

      <version strategy="version-number" column="JDO_LOCK"/>

      <field name="id" primary-key="true" null-value="exception">

        <column name="RULE_ID" jdbc-type="DECIMAL" sql-type="NUMBER"
length="12" scale="0"/>

      </field>

      <field name="type" null-value="exception">

        <column name="TYPE" jdbc-type="VARCHAR" sql-type="VARCHAR2"
length="32" scale="0"/>

      </field>

      <field name="name">

        <column name="NAME" jdbc-type="VARCHAR" sql-type="VARCHAR2"
length="32" scale="0"/>

      </field>

      <field name="description">

        <column name="DESCRIPTION" jdbc-type="VARCHAR"
sql-type="VARCHAR2" length="80" scale="0"/>

      </field>

      <field name="text">

        <column name="TEXT" jdbc-type="VARCHAR" sql-type="VARCHAR2"
length="1024" scale="0"/>

      </field>

      <field name="content"  null-value="exception">  <!-- N-1 (ref) -->

        <column name="CONTENT_ID" target="CONTENT_ID"
jdbc-type="DECIMAL" sql-type="NUMBER" length="12" scale="0"/>

        <extension vendor-name="kodo" key="fetch-group"
value="TemplateRuleImpl.content"/>

      </field>

    </class>

 

    <interface name="com.peacetech.dts.ComponentNode"/>

 

    <class name="ComponentNodeImpl" identity-type="application"
persistence-capable-superclass="com.peacetech.dts.jdo.TemplateNodeImpl">

      <implements name="com.peacetech.dts.ComponentNode"/>

      <inheritance strategy="superclass-table">

        <discriminator value="130"/>

      </inheritance>

      <field name="referenceNumber">

        <column name="REFERENCE_NUMBER" jdbc-type="VARCHAR"
sql-type="VARCHAR2" length="16" scale="0"/>

      </field>

      <field name="ownedContent" table="CONTENT" mapped-by="owner"> <!--
1-1 -->

        <extension vendor-name="kodo" key="fetch-group"
value="ComponentNodeImpl.ownedContent"/>

      </field>

    </class>

 

    <interface name="com.peacetech.dts.Template"/>

 

    <class name="TemplateImpl" identity-type="application"
persistence-capable-superclass="com.peacetech.dts.jdo.ComponentImpl">

      <implements name="com.peacetech.dts.Template"/>

      <inheritance strategy="superclass-table">

        <discriminator value="120"/>

      </inheritance>

      <field name="notes">

        <column name="NOTES" jdbc-type="CLOB" sql-type="CLOB"
length="-1" scale="0"/>

      </field>

    </class>

 

    <interface name="com.peacetech.dts.ShareNode"/>

 

    <class name="ShareNodeImpl" identity-type="application"
persistence-capable-superclass="com.peacetech.dts.jdo.ComponentNodeImpl"
>

      <implements name="com.peacetech.dts.ShareNode"/>

      <inheritance strategy="superclass-table">

        <discriminator value="150"/>

      </inheritance>

      <field name="target"  null-value="exception">  <!-- N-1 (ref) -->

        <column name="SHARE_TARGET" target="TEMPLATE_NODE_ID"
jdbc-type="DECIMAL" sql-type="NUMBER" length="12" scale="0"/>

        <extension vendor-name="kodo" key="fetch-group"
value="ShareNodeImpl.target"/>

      </field>

    </class>

 

    <interface name="com.peacetech.dts.DocumentContent"/>

 

    <class name="DocumentContentImpl" identity-type="application"
persistence-capable-superclass="com.peacetech.dts.jdo.ContentImpl">

      <implements name="com.peacetech.dts.DocumentContent"/>

      <inheritance strategy="superclass-table">

        <discriminator value="220"/>

      </inheritance>

    </class>

 

    <interface name="com.peacetech.dts.DocumentFieldMultiValue"/>

 

    <class name="DocumentFieldMultiValueImpl"
identity-type="application"
persistence-capable-superclass="com.peacetech.dts.jdo.DocumentFieldImpl"
>

      <implements name="com.peacetech.dts.DocumentFieldMultiValue"/>

      <inheritance strategy="superclass-table">

        <discriminator value="520"/>

      </inheritance>

      <field name="values" default-fetch-group="false"
null-value="exception" persistence-modifier="persistent">

        <extension vendor-name="kodo" key="externalizer"
value="com.peacetech.dts.jdo.helpers.Externalizers.fromStringCollection"
/>

        <extension vendor-name="kodo" key="factory"
value="com.peacetech.dts.jdo.helpers.Externalizers.toStringCollection"/>

        <column name="VALUE" jdbc-type="VARCHAR" sql-type="VARCHAR2"
length="1024" scale="0"/>

      </field>

    </class>

 

    <interface name="com.peacetech.dts.ShareLink"/>

 

    <class name="ShareLinkImpl" identity-type="application"
persistence-capable-superclass="com.peacetech.dts.jdo.ShareNodeImpl">

      <implements name="com.peacetech.dts.ShareLink"/>

      <inheritance strategy="superclass-table">

        <discriminator value="160"/>

      </inheritance>

      <field name="topicExcluded" null-value="exception">

        <column name="IS_TOPIC_EXCLUDED" jdbc-type="DECIMAL"
sql-type="NUMBER" length="1" scale="0"/>

      </field>

      <field name="contentOverride" >  <!-- N-1 (ref) -->

        <column name="CONTENT_ID" target="CONTENT_ID"
jdbc-type="DECIMAL" sql-type="NUMBER" length="12" scale="0"/>

        <extension vendor-name="kodo" key="fetch-group"
value="ShareLinkImpl.contentOverride"/>

      </field>

    </class>

 

    <interface name="com.peacetech.dts.DocumentSharePoint"/>

 

    <class name="DocumentSharePointImpl" identity-type="application"
persistence-capable-superclass="com.peacetech.dts.jdo.DocumentItemImpl">

      <implements name="com.peacetech.dts.DocumentSharePoint"/>

      <inheritance strategy="superclass-table">

        <discriminator value="420"/>

      </inheritance>

    </class>

 

    <interface name="com.peacetech.dts.DocumentItem"/>

 

    <class name="DocumentItemImpl" identity-type="application"
persistence-capable-superclass="com.peacetech.dts.jdo.DocumentNodeImpl">

      <implements name="com.peacetech.dts.DocumentItem"/>

      <inheritance strategy="superclass-table">

        <discriminator value="410"/>

      </inheritance>

      <field name="referenceNumber">

        <column name="REFERENCE_NUMBER" jdbc-type="VARCHAR"
sql-type="VARCHAR2" length="16" scale="0"/>

      </field>

    </class>

 

    <interface name="com.peacetech.dts.SharePoint"/>

 

    <class name="SharePointImpl" identity-type="application"
persistence-capable-superclass="com.peacetech.dts.jdo.ShareNodeImpl">

      <implements name="com.peacetech.dts.SharePoint"/>

      <inheritance strategy="superclass-table">

        <discriminator value="170"/>

      </inheritance>

      <field name="embedded" null-value="exception">

        <column name="IS_EMBEDDED_SHARE" jdbc-type="DECIMAL"
sql-type="NUMBER" length="1" scale="0"/>

      </field>

    </class>

 

    <interface name="com.peacetech.dts.ComponentHolder"/>

 

    <class name="ComponentHolderImpl" identity-type="application"
persistence-capable-superclass="com.peacetech.dts.jdo.ContainerImpl">

      <implements name="com.peacetech.dts.ComponentHolder"/>

      <inheritance strategy="superclass-table">

        <discriminator value="310"/>

      </inheritance>

      <field name="versions" table="COMPONENT" mapped-by="container">
<!-- 1-N -->

        <collection element-type="com.peacetech.dts.jdo.ComponentImpl"/>

        <order column="CONTAINER_SORT_ORDER"/>

        <extension vendor-name="kodo" key="fetch-group"
value="ComponentHolderImpl.versions"/>

      </field>

    </class>

 

    <interface name="com.peacetech.dts.DocumentTopic"/>

 

    <class name="DocumentTopicImpl" identity-type="application"
persistence-capable-superclass="com.peacetech.dts.jdo.DocumentItemImpl">

      <implements name="com.peacetech.dts.DocumentTopic"/>

      <inheritance strategy="superclass-table">

        <discriminator value="430"/>

      </inheritance>

      <field name="group" null-value="exception">

        <column name="IS_GROUP" jdbc-type="DECIMAL" sql-type="NUMBER"
length="1" scale="0"/>

      </field>

      <field name="selectedByUser">

        <column name="IS_SELECTED_BY_USER" jdbc-type="DECIMAL"
sql-type="NUMBER" length="1" scale="0"/>

      </field>

      <field name="selectedByRule" null-value="exception">

        <column name="IS_SELECTED_BY_RULE" jdbc-type="DECIMAL"
sql-type="NUMBER" length="1" scale="0"/>

      </field>

      <field name="originalContent" >  <!-- N-1 (ref) -->

        <column name="ORIGINAL_CONTENT" target="CONTENT_ID"
jdbc-type="DECIMAL" sql-type="NUMBER" length="12" scale="0"/>

        <extension vendor-name="kodo" key="fetch-group"
value="DocumentTopicImpl.originalContent"/>

      </field>

      <field name="content"  null-value="exception">  <!-- N-1 (ref) -->

        <column name="CONTENT_ID" target="CONTENT_ID"
jdbc-type="DECIMAL" sql-type="NUMBER" length="12" scale="0"/>

        <extension vendor-name="kodo" key="fetch-group"
value="DocumentTopicImpl.content"/>

      </field>

      <field name="fields" table="DOCUMENT_FIELD" mapped-by="topic">
<!-- 1-N -->

        <collection
element-type="com.peacetech.dts.jdo.DocumentFieldImpl"/>

        <extension vendor-name="kodo" key="fetch-group"
value="DocumentTopicImpl.fields"/>

      </field>

    </class>

 

    <interface name="com.peacetech.dts.TemplateContent"/>

 

    <class name="TemplateContentImpl" identity-type="application"
persistence-capable-superclass="com.peacetech.dts.jdo.ContentImpl">

      <implements name="com.peacetech.dts.TemplateContent"/>

      <inheritance strategy="superclass-table">

        <discriminator value="210"/>

      </inheritance>

      <field name="owner"  null-value="exception">  <!-- N-1 (ref) -->

        <column name="OWNER" target="TEMPLATE_NODE_ID"
jdbc-type="DECIMAL" sql-type="NUMBER" length="12" scale="0"/>

        <extension vendor-name="kodo" key="fetch-group"
value="TemplateContentImpl.owner"/>

      </field>

      <field name="topics" table="TEMPLATE_NODE" mapped-by="content">
<!-- 1-N -->

        <collection element-type="com.peacetech.dts.jdo.TopicImpl"/>

        <extension vendor-name="kodo" key="fetch-group"
value="TemplateContentImpl.topics"/>

      </field>

      <field name="shares" table="TEMPLATE_NODE"
mapped-by="contentOverride"> <!-- 1-N -->

        <collection element-type="com.peacetech.dts.jdo.ShareLinkImpl"/>

        <extension vendor-name="kodo" key="fetch-group"
value="TemplateContentImpl.shares"/>

      </field>

    </class>

 

    <interface name="com.peacetech.dts.DocumentFieldSingleValue"/>

 

    <class name="DocumentFieldSingleValueImpl"
identity-type="application"
persistence-capable-superclass="com.peacetech.dts.jdo.DocumentFieldImpl"
>

      <implements name="com.peacetech.dts.DocumentFieldSingleValue"/>

      <inheritance strategy="superclass-table">

        <discriminator value="510"/>

      </inheritance>

      <field name="value">

        <column name="VALUE" jdbc-type="VARCHAR" sql-type="VARCHAR2"
length="1024" scale="0"/>

      </field>

    </class>

 

    <interface name="com.peacetech.dts.Topic"/>

 

    <class name="TopicImpl" identity-type="application"
persistence-capable-superclass="com.peacetech.dts.jdo.ComponentNodeImpl"
>

      <implements name="com.peacetech.dts.Topic"/>

      <inheritance strategy="superclass-table">

        <discriminator value="140"/>

      </inheritance>

      <field name="group" null-value="exception">

        <column name="IS_GROUP" jdbc-type="DECIMAL" sql-type="NUMBER"
length="1" scale="0"/>

      </field>

      <field name="content"  null-value="exception">  <!-- N-1 (ref) -->

        <column name="CONTENT_ID" target="CONTENT_ID"
jdbc-type="DECIMAL" sql-type="NUMBER" length="12" scale="0"/>

        <extension vendor-name="kodo" key="fetch-group"
value="TopicImpl.content"/>

      </field>

    </class>

 

    <interface name="com.peacetech.dts.Folder"/>

 

    <class name="FolderImpl" identity-type="application"
persistence-capable-superclass="com.peacetech.dts.jdo.ContainerImpl">

      <implements name="com.peacetech.dts.Folder"/>

      <inheritance strategy="superclass-table">

        <discriminator value="320"/>

      </inheritance>

    </class>

   </package>

</jdo>

 

-----Original Message-----
From: Marc Prud'hommeaux [mailto:mprudhomapache@gmail.com] On Behalf Of
Marc Prud'hommeaux
Sent: Tuesday, October 17, 2006 4:34 PM
To: open-jpa-dev@incubator.apache.org
Subject: Re: Why would Kodo refuse to batch inserts in certain tables?
Big performance drop migrating to Kodo 4.1

 

Alex-

 

No attachment came through.

 

Can you just paste the SQL log into a mail?

 

 

On Oct 16, 2006, at 6:04 PM, Roytman, Alex wrote:

 

> Marc,

> 

> Attached is JDBC trace and my mapping file.

> 

> You can see how everything but DOCUMENT_NODE is batched.

> 

> DOCUMENT_NODE is a super-class table. It has several sub-classes  

> all but

> one mapped on the same table. The one mapped vertically uses DOCUMENT

> table. DOCUMENT_NODE have several bi- and uni-directional recursive

> associations

> 

> The rest of the classes are related to DOCUMENT_NODE via mapped-by

> 

> Alex

> 

> 

> -----Original Message-----

> From: Marc Prud'hommeaux [mailto:mprudhomapache@gmail.com] On  

> Behalf Of

> Marc Prud'hommeaux

> Sent: Monday, October 16, 2006 7:30 PM

> To: open-jpa-dev@incubator.apache.org

> Subject: Re: Why would Kodo refuse to batch inserts in certain tables?

> Big performance drop migrating to Kodo 4.1

> 

> Alex-

> 

> So you are saying that batching is working OK in general, just not

> for a particular class? And that this particular class was batching

> fine with previous versions? That is odd, although there are some

> cases where we might refuse to batch a particular class (because of a

> driver bug with batching certain column types, etc).

> 

> As a shot in the dark, we do work around a bug in the Oracle JDBC

> driver's failure to batch date/time effectively.

> 

> Can you post the SQL log that shows the series of SQL statements that

> should have been batched, but weren't? That might help shed light  

> on it.

> 

> Also, database and JDBC driver type/version would be useful.

> 

> 

> 

> On Oct 15, 2006, at 7:30 PM, Roytman, Alex wrote:

> 

>> Hello,

>> 

>> 

>> 

>> While migrating to Kodo 4.1 I noticed significant drop in insert

>> performance. I trace it down to some strange batching behavior. While

>> most of the PC were committed with batched inserts one particular

>> class

>> refused to batch and would insert row by row resulting in 10 times

>> performance drop.

>> 

>> 

>> 

>> There is nothing special about the class. Its hierarchy is mapped on

>> base its table except for one of the lowest members which is mapped

>> vertically.

>> 

>> 

>> 

>> 

>> 

>> Thank you very much

>> 

>> 

>> 

>> Alex Roytman

>> 

>> Peace Technology, Inc.

>> 

>> 301-206-9696x103

>> 

>> 

>> 

> 

 


Mime
  • Unnamed multipart/alternative (inline, None, 0 bytes)
View raw message