openjpa-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Marc Prud'hommeaux <mprud...@apache.org>
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:56:44 GMT
Alex-

Since the non-batched statement contains a Date field, this is due to  
the workaround for the Oracle JDBC driver bug I mentioned before.

Kodo will not batch statements that contains a Date field when  
interacting with Oracle.



On Oct 17, 2006, at 1:38 PM, Roytman, Alex wrote:

> 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.fromStringCollectio 
> n"
> />
>
>         <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
View raw message