hi,
i'm working with an object were two objects refer to each other. i.e.
public abstract class Type implements EntityBean {
/* snip */
public void ejbPostCreate(String name) throws CreateException {
TypeLocal type = null;
ResourceLocalHome resourceLome = null;
/* skip this part if we're the root */
if (name.equals("root")) {
return;
}
try {
type = TypeUtil.getLocalHome().findByName("root");
resourceLome = ResourceUtil.getLocalHome();
typeLocal =
typeLome.findByName("root");
} catch (Exception e) {
/* snip */
}
setResource(resourceLome.create(type));
}
}
public abstract class Resource implements EntityBean {
public void ejbPostCreate(TypeLocal type) {
setType(type);
}
}
so, every Resource has a Type and every Type is a Resource unless it's
the root Type. for some reason when I call setResource() from
Type's ejbPostCreate() nothing happens. no UPDATE statements for the Type
table are generated.
in the database i see
=> select * from type ;
id | name | resource_id
-----+----------+-------------
397 | root |
398 | type_one |
399 | type_two |
(3 rows)
=> select * from resource;
id | type_id
------+--------
1485 | 397
1486 | 397
(2 rows)
if i call setResource() outside of ejbPostCreate() this works fine.
the same behavior is also happening with other entities that are also
Resources and have a ejbPostCreate() that's similar to Type's.
is there something particular about updating a CMR from within ejbPostCreate
that is different?
the following is the dd for this particular CMR.
<ejb-relation >
<ejb-relation-name>type-resourceid</ejb-relation-name>
<!-- unidirectional -->
<ejb-relationship-role >
<ejb-relationship-role-name>type-is-a-resource</ejb-relationship-role-name>
<multiplicity>One</multiplicity>
<relationship-role-source >
<ejb-name>Type</ejb-name>
</relationship-role-source>
<cmr-field >
<cmr-field-name>resource</cmr-field-name>
</cmr-field>
</ejb-relationship-role>
<ejb-relationship-role >
<ejb-relationship-role-name>a-resource-may-be-a-type</ejb-relationship-role-name>
<multiplicity>One</multiplicity>
<cascade-delete/>
<relationship-role-source >
<ejb-name>Resource</ejb-name>
</relationship-role-source>
</ejb-relationship-role>
</ejb-relation>
Any suggestions are much appreciated.
barbee.
-------------------------------------------------------
This sf.net email is sponsored by:ThinkGeek
No, I will not fix your computer.
http://thinkgeek.com/sf
_______________________________________________
JBoss-user mailing list
[EMAIL PROTECTED]
https://lists.sourceforge.net/lists/listinfo/jboss-user