<?xml version="1.0" ?>
<jwarpPersistence>
<lockEngine class="org.jwarp.persist.engine.LockEngine">
<lockTimeout>120</lockTimeout>
<transactionTimeout>60</transactionTimeout>
</lockEngine>
<instanceCache class="org.jwarp.persist.InstanceCache">
<maxComponents>10000</maxComponents>
<minAccess>-1</minAccess>
<maxTime>3600000</maxTime>
<!--<reactionSensibility></reactionSensibility> // use default from cache impl // -->
<tolerance>5000</tolerance>
<updateInterval>120000</updateInterval>
<debug>false</debug>
</instanceCache>
<typeManager>
<type name="exception" class="java.lang.Exception" immutable="true"/>
</typeManager>
<classDescriptorEngine class="org.jwarp.persist.mapping.MappingContext">
<generatorManager class="org.jwarp.persist.keygen.GeneratorManager">
<generator name="ramcounter" class="org.jwarp.persist.keygen.RAMCounterGenerator"/>
<generator name="identity" class="org.jwarp.persist.keygen.SQLIdentityGenerator">
<sql>sqlserver</sql>
</generator>
<generator name="max" class="org.jwarp.persist.keygen.SQLMaxGenerator">
<sql>sqlserver</sql>
</generator>
</generatorManager>
<driverManager>
<driver id="sql" class="org.jwarp.persist.drivers.SQLDriver">
<engine>org.jwarp.persist.drivers.SQLServerEngine</engine>
<connectionPool class="JWarpConnectionPool"/>
<typeManager>
<converter class="willThrowAnExceptionOnLoad">
<fromClass>java.lang.String</fromClass>
<toClass>java.lang.String</toClass>
</converter>
</typeManager>
</driver>
<!--<driver id="xml" class="org.jwarp.persist.drivers.XMLDriver">
<in dir="c:/temp" oneFilePerClass="true" createFolders="false">
<loadClasses>ch.orcasys.TestItem</loadClasses>
<loadClasses>ch.orcasys.SubItem</loadClasses>
</in>
<out dir="c:/temp" oneFilePerClass="true" createFolders="false"/>
<instanceCache/>
</driver>-->
</driverManager>
</classDescriptorEngine>
<!-- <xml name="testItem" type="element"/> -->
<class name="SubItem" id="id" readOnly="false">
<description>SubItem description</description>
<sql name="TSubItem" accessMode="shared"/>
<field name="id" type="int" direct="true" generator="counter">
<sql name="ID" type="integer" dirty="check" />
</field>
<field name="field" type="String" direct="true">
<sql name="Field" type="varchar" dirty="check" />
</field>
<!-- reference -->
<field name="parent" type="TestItem" enumType="Reference" required="false" direct="true">
<sql fieldNames="TestItemID"/>
</field>
</class>
<class name="TestItem" id="id">
<description>TestItem description</description>
<sql name="TTestItem" accessMode="shared"/>
<!-- <xml name="testItem" type="element"/> -->
<field name="id" type="int" direct="false" getMethod="getID" setMethod="setID" >
<!-- generator="counter" -->
<sql name="ID" type="integer" dirty="check" />
</field>
<field name="name" type="String" direct="true">
<sql name="Name" type="varchar" dirty="check" />
</field>
<field name="date" type="Date" direct="true">
<sql name="Date" type="timestamp" dirty="check" />
</field>
<!-- reference -->
<field name="subitem" type="SubItem" enumType="Reference" direct="true">
<!-- optional: diverging sql field names -->
<sql fieldNames="SubItemID"/>
</field>
<!-- collection -->
<field name="subItemCollection" type="java.util.Collection" content="SubItem" enumType="1nCollection" direct="true" lazy="true">
<!-- optional: name of the remote foreign id fields -->
<sql fieldNames="TestItemID"/>
</field>
<!-- multi collection -->
<field name="subItemNMCollection" type="java.util.Collection" content="SubItem" enumType="nmCollection" direct="true" lazy="true">
<sql fieldNames="TestItemID" multiTable="TTestSubItem" multiKeys="SubItemID"/>
</field>
</class>
<class name="InsertItem" id="id">
<description>Item to insert with identity key generator</description>
<sql name="TInsertItem" accessMode="shared"/>
<!-- <xml name="testItem" type="element"/> -->
<field name="id" type="int" direct="true" generator="identity">
<!-- generator="counter" -->
<sql name="ID" type="integer" />
</field>
<field name="nr" type="int" direct="true">
<!-- generator="counter" -->
<sql name="idNumber" type="integer" />
</field>
</class>
<class name="MaxItem" id="id">
<description>Item to insert with identity key generator</description>
<sql name="TInsertItem" accessMode="shared"/>
<!-- <xml name="testItem" type="element"/> -->
<field name="id" type="int" direct="true" generator="max">
<!-- generator="counter" -->
<sql name="idNumber" type="integer" />
</field>
</class>
</jwarpPersistence>