Stein,
    Thanx for the suggestion.  I like the idea of just expiring the cache, if I get the duplicate ID error.  I am using a different table for every class type.  I hope the following is not too much info.
 
Steve
 
 
UserScenario --> WebResource ( one-to-many, programmatically maintained)
WebResource -->  WebResource ( one-to-many, programmatically maintained)
WebResource --> FormData (one-to-many)
WebResource --> ResponseHeader (one-to-many)
WebResource --> RequestHeader (one-to-many)
 
mapping.xml
---------------------------------------------------------------------------------------------
<key-generator name="HIGH-LOW">
<param name="table" value="seq"/>
<param name="key-column" value="seq_table_name"/>
<param name="value-column" value="max_pk_value"/>
<param name="grab-size" value="15"/>
</key-generator>
:
:
 
<class name="com.opendemand.jdo.UserScenario" auto-complete="false" identity="userScenarioId" key-generator="MAX">
<description>Default mapping for class com.opendemand.jdo.UserScenario</description>
<map-to table="user_scenario"/>
<cache-type type="none" />
:
</class>
 
<class name="com.opendemand.jdo.WebResource" auto-complete="false" identity="webResourceId" key-generator="HIGH-LOW" >
<description>Default mapping for class com.opendemand.jdo.WebResource</description>
<map-to table="web_resource"/>
<cache-type type="none" />
:
:
<field name="responseHeaders"
   type="com.opendemand.jdo.ResponseHeader" required="false"
   direct="false" transient="false" collection="arraylist"
  get-method="getResponseHeaders" set-method="setResponseHeaders" lazy="false" >
  <sql many-key="web_resource_id" dirty="ignore" />
</field>
<field name="requestHeaders" type="com.opendemand.jdo.RequestHeader"
   required="false" direct="false" transient="false" collection="arraylist"
   get-method="getRequestHeaders" set-method="setRequestHeaders" lazy="false" >
   <sql many-key="web_resource_id" dirty="ignore" />
</field>
<field name="formData" type="com.opendemand.jdo.FormData"
     required="false" direct="false" transient="false" collection="arraylist"
     get-method="getFormData" set-method="setFormData" >
    <sql many-key="web_resource_id" dirty="ignore" />
</field>
</class>
 
<!-- same for ResponseHeader, FormData -->
<class name="com.opendemand.jdo.RequestHeader" auto-complete="false" identity="id" key-generator="HIGH-LOW" depends="com.opendemand.jdo.WebResource" update="false" >
   <description>Default mapping for class com.opendemand.jdo.RequestHeader</description>
   <map-to table="request_header"/>
   <cache-type type="none" />
:
</class>
----- Original Message -----
From: "Stein M. Hugubakken" <[EMAIL PROTECTED]>
To: <[EMAIL PROTECTED]>
Sent: Monday, April 26, 2004 2:18 PM
Subject: Re: [castor-dev] [JDO] Key generator -- Duplicated Identity is generated!

>
> Stephen Ince wrote:
> > It is just with HIGH-LOW,  does any know of away to re-sync the cache.
> >
>
> What about expiring items from the cache?
>
> An example:
> db.expireCache(new Class[] { Person.class }, null);
>
> Is it alsways the same type that have problem with duplicate identity?
> What type of cache do you use for those out-of-sync?
>
> Stein
>
> -----------------------------------------------------------
> If you wish to unsubscribe from this mailing, send mail to
>
[EMAIL PROTECTED] with a subject of:
>         unsubscribe castor-dev
>
>

Reply via email to