For some reason I can not get self-referential model case to work. I have this 
working for another set of classes. I keep getting  a read lock exception.

Nested error: org.exolab.castor.jdo.DataObjectAccessException: Field access 
error: FieldMolder for com.opendemand.jdo.WebResource.webResourceBranches of 
type com.opendemand.jdo.WebResourceBranch access resulted in 
java.lang.IllegalStateException: Transaction org.castor.persist.LocalTransaction
cont...@b52a28 does not hold the read lock: 
com.opendemand.jdo.WebResource/314/3.

I am using castor 1.01. 
Does anyone know what might cause a read lock exception in a self-referential 
model case.

relationship
WebResource ---> WebResourceBranch --> WebResource

mapping.

<class name="com.opendemand.jdo.WebResource" auto-complete="false" 
identity="webResourceId" key-generator="keygen" >
<map-to table="web_resource"/>
<cache-type type="none" />
<field name="webResourceId" type="integer">
<sql name="web_resource_id" type="integer" dirty="ignore" />
</field>
:

<field name="webResourceBranches"
type="com.opendemand.jdo.WebResourceBranch" collection="collection" lazy="true">
<sql many-key="web_resource_id" dirty="ignore" />
</field>
</class>

<class name="com.opendemand.jdo.WebResourceBranch" auto-complete="false" 
identity="id" key-generator="keygen" depends="com.opendemand.jdo.WebResource" >
<map-to table="web_resource_branch"/>
<cache-type type="none" />
<field name="id" type="integer" >
<sql name="id" type="integer" dirty="ignore" />
</field>
:
<field name="webResource" type="com.opendemand.jdo.WebResource" required="true">
<sql name="web_resource_id" dirty="ignore" />
</field>
<field name="branch" type="com.opendemand.jdo.WebResource" required="true">
<sql name="branch_id" dirty="ignore" />
</field>
</class>

Reply via email to