Hi!
According to the that comment below, it is not possible to work with relation sets, if the calling method ist executed with tx = null.
The getIdList() requires a tx or else the setHandle is always null -> which means that JBOSS (4.0.2) does not allow something like person.getRelatives().iterator() if the tx is null.
Can someone confirm this?
public class RelationSet implements Set { private JDBCCMRFieldBridge cmrField; private EntityEnterpriseContext ctx; private List[] setHandle; private Class relatedLocalInterface; // // Most of this class is a boring wrapper arround the id set. // The only interesting hitch is the setHandle. This class doesn't // have a direct referance to the related id set, it has a referance // to a referance to the set. When the transaction is completed the // CMR field sets my referance to the set to null, so that I know that // this set is no longer valid. See the ejb spec for more info. // public RelationSet( JDBCCMRFieldBridge cmrField, EntityEnterpriseContext ctx, List[] setHandle) { this.cmrField = cmrField; this.ctx = ctx; this.setHandle = setHandle; relatedLocalInterface = cmrField.getRelatedLocalInterface(); } private List getIdList() { if(setHandle[0] == null) { throw new IllegalStateException("A CMR collection may only be used " + "within the transction in which it was created"); }