7 Replies Latest reply on Jun 15, 2004 9:17 AM by cuoz

    Method is not a known CMP field accessor, CMR field accessor

    vasudevk

      Hi,

      I am getting this error when ejbPostCreate is called and is trying to setParent.

      I have a Bean RuleSet which has a self relationship. I am getting this error when i create the subset which belongs to a RuleSet.

      I will be attaching my full bean code and the xml generated by xdoclet.

      Any help is appreciated:.

      TIA

      Vasu

      /**
      * @ejbgen:cmr-field
      * @ejbgen:local-method
      *
      * @ejb.interface-method
      * view-type="local"
      *
      * @ejb.value-object
      * compose="com.stalworth.dqrules.vobj.RuleSetValue"
      * compose-name="SubSet"
      * members="com.stalworth.dqrules.cmp.RuleSetLocal"
      * members-name="RuleSet"
      * relation="external"
      * type="java.util.Set"
      *
      * @ejb.relation
      * name="RuleSet-RuleSet"
      * role-name="RuleSetHasSubsets"
      * target-ejb="RuleSet"
      * target-role-name = "SubsetIsAPartOfRuleSet"
      *
      * @jboss.target-relation
      * fk-column = "PARENT_ID"
      * related-pk-field = "id"
      * sql-type="VARCHAR2"
      * jdbc-type="VARCHAR"
      *
      */
      abstract public Set getSubSets();
      /**
      * @ejbgen:local-method
      *
      * @ejb.interface-method
      * view-type="local"
      */
      abstract public void setSubSets(Set val);

      /**
      * @ejbgen:cmr-field
      * @ejbgen:local-method
      *
      *
      * @ejb.interface-method
      * view-type="local"
      *
      * @ejb.value-object
      * compose="com.stalworth.dqrules.vobj.RuleSetValue"
      * compose-name="Parent"
      * members="com.stalworth.dqrules.cmp.RuleSetLocal"
      * members-name="RuleSet"
      * relation="external"
      *
      *
      * @ejb.relation
      * name="RuleSet-RuleSet"
      * role-name="SubsetIsAPartOfRuleSet"
      * cascade-delete="yes"
      *
      *
      * @jboss.relation
      * related-pk-field="id"
      * fk-column="PARENT_ID"
      * sql-type="VARCHAR2"
      * jdbc-type="VARCHAR"
      *
      */
      abstract public RuleSetLocal getParent();
      /**
      * @ejbgen:local-method
      *
      * @ejb.interface-method
      * view-type="local"
      *
      */
      abstract public void setParent(RuleSetLocal val);


      The stacktrace is follows:

      avax.ejb.EJBException: Method is not a known CMP field accessor, CMR field accessor, or ejbSelect method: methodName=setParent
      at org.jboss.ejb.plugins.cmp.bridge.EntityBridgeInvocationHandler.invoke(EntityBridgeInvocationHandler.java:106)
      at org.jboss.proxy.compiler.Runtime.invoke(Runtime.java:59)
      at com.stalworth.dqrules.cmp.RuleSetCMP$Proxy.setParent()
      at com.stalworth.dqrules.cmp.RuleSetEJB.ejbPostCreate(RuleSetEJB.java:1122)
      at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
      at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
      at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
      at java.lang.reflect.Method.invoke(Method.java:324)
      at org.jboss.ejb.plugins.CMPPersistenceManager.postCreateEntity(CMPPersistenceManager.java:240)
      at org.jboss.resource.connectionmanager.CachedConnectionInterceptor.postCreateEntity(CachedConnectionInterceptor.java:277)
      at org.jboss.ejb.EntityContainer.postCreateLocalHome(EntityContainer.java:595)
      at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
      at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
      at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
      at java.lang.reflect.Method.invoke(Method.java:324)
      at org.jboss.ejb.EntityContainer$ContainerInterceptor.invoke(EntityContainer.java:1084)
      at org.jboss.ejb.plugins.cmp.jdbc.JDBCRelationInterceptor.invoke(JDBCRelationInterceptor.java:72)
      at org.jboss.ejb.plugins.EntitySynchronizationInterceptor.invoke(EntitySynchronizationInterceptor.java:282)
      at org.jboss.resource.connectionmanager.CachedConnectionInterceptor.invoke(CachedConnectionInterceptor.java:185)
      at org.jboss.ejb.plugins.EntityReentranceInterceptor.invoke(EntityReentranceInterceptor.java:114)
      at org.jboss.ejb.plugins.EntityInstanceInterceptor.invoke(EntityInstanceInterceptor.java:163)
      at org.jboss.ejb.plugins.EntityLockInterceptor.invoke(EntityLockInterceptor.java:89)
      at org.jboss.ejb.plugins.EntityCreationInterceptor.invokeHome(EntityCreationInterceptor.java:44)
      at org.jboss.ejb.plugins.AbstractTxInterceptor.invokeNext(AbstractTxInterceptor.java:88)
      at org.jboss.ejb.plugins.TxInterceptorCMT.runWithTransactions(TxInterceptorCMT.java:297)
      at org.jboss.ejb.plugins.TxInterceptorCMT.invokeHome(TxInterceptorCMT.java:98)
      at org.jboss.ejb.plugins.SecurityInterceptor.invokeHome(SecurityInterceptor.java:92)
      at org.jboss.ejb.plugins.LogInterceptor.invokeHome(LogInterceptor.java:120)
      at org.jboss.ejb.plugins.ProxyFactoryFinderInterceptor.invokeHome(ProxyFactoryFinderInterceptor.java:93)
      at org.jboss.ejb.EntityContainer.internalInvokeHome(EntityContainer.java:483)
      at org.jboss.ejb.Container.invoke(Container.java:720)
      at org.jboss.ejb.plugins.local.BaseLocalProxyFactory.invokeHome(BaseLocalProxyFactory.java:293)
      at org.jboss.ejb.plugins.local.LocalHomeProxy.invoke(LocalHomeProxy.java:110)
      at $Proxy32.create(Unknown Source)
      at com.stalworth.dqrules.session.RuleSetSessionEJB.saveRuleSet(RuleSetSessionEJB.java:120)
      at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
      at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
      at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
      at java.lang.reflect.Method.invoke(Method.java:324)
      at org.jboss.ejb.StatelessSessionContainer$ContainerInterceptor.invoke(StatelessSessionContainer.java:683)
      at org.jboss.resource.connectionmanager.CachedConnectionInterceptor.invoke(CachedConnectionInterceptor.java:185)
      at org.jboss.ejb.plugins.StatelessSessionInstanceInterceptor.invoke(StatelessSessionInstanceInterceptor.java:72)
      at org.jboss.ejb.plugins.AbstractTxInterceptor.invokeNext(AbstractTxInterceptor.java:84)
      at org.jboss.ejb.plugins.TxInterceptorCMT.runWithTransactions(TxInterceptorCMT.java:267)
      at org.jboss.ejb.plugins.TxInterceptorCMT.invoke(TxInterceptorCMT.java:128)
      at org.jboss.ejb.plugins.SecurityInterceptor.invoke(SecurityInterceptor.java:118)
      at org.jboss.ejb.plugins.LogInterceptor.invoke(LogInterceptor.java:191)
      at org.jboss.ejb.plugins.ProxyFactoryFinderInterceptor.invoke(ProxyFactoryFinderInterceptor.java:122)
      at org.jboss.ejb.StatelessSessionContainer.internalInvoke(StatelessSessionContainer.java:331)
      at org.jboss.ejb.Container.invoke(Container.java:700)
      at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
      at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
      at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
      at java.lang.reflect.Method.invoke(Method.java:324)
      at org.jboss.mx.capability.ReflectedMBeanDispatcher.invoke(ReflectedMBeanDispatcher.java:284)
      at org.jboss.mx.server.MBeanServerImpl.invoke(MBeanServerImpl.java:546)
      at org.jboss.invocation.jrmp.server.JRMPInvoker.invoke(JRMPInvoker.java:367)
      at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
      at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
      at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
      at java.lang.reflect.Method.invoke(Method.java:324)
      at sun.rmi.server.UnicastServerRef.dispatch(UnicastServerRef.java:261)
      at sun.rmi.transport.Transport$1.run(Transport.java:148)
      at java.security.AccessController.doPrivileged(Native Method)
      at sun.rmi.transport.Transport.serviceCall(Transport.java:144)
      at sun.rmi.transport.tcp.TCPTransport.handleMessages(TCPTransport.java:460)
      at sun.rmi.transport.tcp.TCPTransport$ConnectionHandler.run(TCPTransport.java:701)
      at java.lang.Thread.run(Thread.java:536)

        • 1. Re: Method is not a known CMP field accessor, CMR field acce
          vasudevk

          Bean Src Code:
          ===========

          package com.stalworth.dqrules.cmp;

          import java.io.Serializable;
          import java.util.Set;


          import javax.ejb.CreateException;
          import javax.ejb.DuplicateKeyException;
          import javax.ejb.EJBException;
          import javax.ejb.EntityBean;
          import javax.ejb.EntityContext;
          import javax.ejb.FinderException;
          import javax.ejb.NoSuchEntityException;
          import javax.ejb.ObjectNotFoundException;
          import javax.ejb.RemoveException;
          import javax.naming.InitialContext;
          import javax.naming.NamingException;
          import javax.sql.DataSource;
          import java.sql.Timestamp;

          //import com.stalworth.dqrules.constants.*;
          //import com.stalworth.fc.utils.*;


          /**
          * @ejbgen:entity
          * ejb-name = RuleSet
          * table-name = SW_DQ_RULESET
          * data-source-name = sw-dataSource-oraclePool
          * concurrency-strategy = Database
          * prim-key-class = java.lang.String
          * max-beans-in-cache = 500
          * abstract-schema-name = RuleSetSchema
          * reentrant = False
          * delay-database-insert-until = ejbPostCreate
          * default-transaction = Supports
          *
          *
          * @ejbgen:jndi-name
          * local = com.stalworth.dqrules.cmp.RuleSetHome
          *
          *
          * @ejbgen:finder
          * signature = "java.util.Collection findAllInstances ()"
          * ejb-ql = "SELECT OBJECT(o) FROM RuleSetSchema AS o ORDERBY o.name ASC"
          *
          * @ejbgen:finder
          * signature = "java.util.Collection findByName (java.lang.String name)"
          * ejb-ql = "SELECT OBJECT(o) FROM RuleSetSchema AS o WHERE o.name = ?1"
          *
          * @ejbgen:finder
          * signature = "RuleSetLocal findByMasterNameAndApplication (java.lang.String name,java.lang.String app)"
          * ejb-ql = "SELECT OBJECT(o) FROM RuleSetSchema AS o WHERE o.name = ?1 AND o.application = ?2 AND o.type = 0"
          *
          * @ejbgen:finder
          * signature = "RuleSetLocal findBySubsetName (java.lang.String name,java.lang.String pid)"
          * ejb-ql = "SELECT OBJECT(o) FROM RuleSetSchema AS o WHERE o.name = ?1 AND o.parentId = ?2 AND o.type <> 0"
          *
          *
          * @ejbgen:finder
          * signature = "java.util.Collection findByApplicationAndOwner (java.lang.String app,java.lang.String owner_id)"
          * ejb-ql = "SELECT OBJECT(o) FROM RuleSetSchema AS o WHERE o.application = ?1 AND o.createdById = ?2"
          *
          * @ejbgen:finder
          * signature = "java.util.Collection findByApplication (java.lang.String cid)"
          * ejb-ql = "SELECT OBJECT(o) FROM RuleSetSchema AS o WHERE o.application = ?1"
          *
          * @ejbgen:finder
          * signature = "java.util.Collection findByApplicationScope(java.lang.String cid,int sc)"
          * ejb-ql = "SELECT OBJECT(o) FROM RuleSetSchema AS o WHERE o.application = ?1 AND o.scope = ?2"
          *
          * @ejbgen:finder
          * signature = "java.util.Collection findByApplicationAndOwnerScope (java.lang.String app,java.lang.String owner_id,int sc )"
          * ejb-ql = "SELECT OBJECT(o) FROM RuleSetSchema AS o WHERE o.application = ?1 AND o.createdById = ?2 AND o.scope = ?3"
          *
          * @ejbgen:finder
          * signature = "java.util.Collection findByOwner (java.lang.String owner_id)"
          * ejb-ql = "SELECT OBJECT(o) FROM RuleSetSchema AS o WHERE o.createdById = ?1"
          *
          * @ejbgen:finder
          * signature = "java.util.Collection findByMaster (java.lang.String app,java.lang.String owner_id,java.lang.String pId)"
          * ejb-ql = "SELECT OBJECT(o) FROM RuleSetSchema AS o WHERE o.application = ?1 AND o.createdById = ?2 AND o.parentId = ?3"
          *
          * @ejbgen:finder
          * signature = "java.util.Collection findByApplicationAndOwnerMaster (java.lang.String app,java.lang.String owner_id)"
          * ejb-ql = "SELECT OBJECT(o) FROM RuleSetSchema AS o WHERE o.application = ?1 AND o.createdById = ?2 AND o.type = 0"
          *
          * @ejbgen:finder
          * signature = "java.util.Collection findByOwnerMaster (java.lang.String owner_id)"
          * ejb-ql = "SELECT OBJECT(o) FROM RuleSetSchema AS o WHERE o.createdById = ?1 AND o.type = 0"
          *
          *
          * @ejbgen:finder
          * signature = "java.util.Collection findByMasterOrdered()"
          * ejb-ql = "SELECT OBJECT(o) FROM RuleSetSchema AS o WHERE o.type = 0 ORDERBY o.name ASC"
          *
          * @ejbgen:finder
          * signature = "java.util.Collection findByMasterInteractive(java.lang.String screenName)"
          * ejb-ql = "SELECT OBJECT(o) FROM RuleSetSchema AS o WHERE o.type = 0 AND o.forType = 1 AND o.screenName = ?1 ORDERBY o.name ASC"
          *
          *
          * @ejbgen:finder
          * signature = "java.util.Collection findByMasterInteractiveDefault(java.lang.String screenName)"
          * ejb-ql = "SELECT OBJECT(o) FROM RuleSetSchema AS o WHERE o.type = 0 AND o.forType = 1 AND o.screenName = ?1 AND o.forTypeDefault = 1 ORDERBY o.name ASC"
          *
          *
          * @ejbgen:relation
          * name = RuleSet-CSRules
          * role-name = RuleSetHasCSRules
          * multiplicity = one
          * target-ejb = CSRuleEJB
          * cmr-field = cSRules
          *
          * @ejbgen:relation
          * name = RuleSet-SRRules
          * role-name = RuleSetHasSRRules
          * multiplicity = one
          * target-ejb = SRRuleEJB
          * cmr-field = sRRules
          *
          * @ejbgen:relation
          * name = RuleSet-DIRules
          * role-name = RuleSetHasDIRules
          * multiplicity = one
          * target-ejb = DIRuleEJB
          * cmr-field = dIRules
          *
          * @ejbgen:relation
          * name = RuleSet-SSRules
          * role-name = RuleSetHasSSRules
          * multiplicity = one
          * target-ejb = SSRuleEJB
          * cmr-field = sSRules
          *
          * @ejbgen:relation
          * name = RuleSet-MDRules
          * role-name = RuleSetHasMDRules
          * multiplicity = one
          * target-ejb = MDRuleEJB
          * cmr-field = mDRules
          *
          * @ejbgen:relation
          * name = RuleSet-DPRules
          * role-name = RuleSetHasDPRules
          * multiplicity = one
          * target-ejb = DPRuleEJB
          * cmr-field = dPRules
          *
          * @ejbgen:relation
          * name = RuleSet-RuleSet
          * role-name = RuleSetHasSubsets
          * multiplicity = one
          * cmr-field = subSets
          * target-ejb = RuleSetEJB
          *
          * @ejbgen:relation
          * name = RuleSet-RuleSet
          * role-name = SubsetIsAPartOfRuleSet
          * multiplicity = many
          * cascade-delete = True
          * target-ejb = RuleSetEJB
          * cmr-field = parent
          * fk-column = PARENT_ID
          *
          *
          * @ejbgen:relation
          * name = RuleSet-RuleSetShare
          * role-name = RuleSetHasRuleSetShares
          * multiplicity = many
          * target-ejb = RuleSetShareEJB
          * cmr-field = ruleSetShares
          * fk-column = RS_SHARE_ID
          * joint-table = SW_DQ_RS_RSSHARE
          *
          *
          * @ejbgen:relation
          * name = RuleSet-DQRulesRT
          * role-name = RuleSetHasRTs
          * multiplicity = one
          * target-ejb = DQRulesRTEJB
          * cmr-field = rTInstances
          *
          *
          * @ejb.bean
          * name="RuleSet"
          * cmp-version="2.x"
          * local-jndi-name="com.stalworth.dqrules.cmp.RuleSetHome"
          * view-type="local"
          * primkey-field="id"
          * schema="RuleSetSchema"
          *
          *
          *
          * @ejb.persistence
          * table-name="SW_DQ_RULESET"
          *
          * @ejb.value-object
          * name="RuleSet"
          *
          * @ejb.transaction type="Supports"
          * @ejb.transaction-type type="Container"
          *
          * @ejb.finder
          * method-intf="LocalHome"
          * result-type-mapping="Local"
          * signature="java.util.Collection findAllInstances ()"
          * query="SELECT OBJECT(o) FROM RuleSetSchema AS o"
          *
          * @ejb.finder
          *
          * method-intf="LocalHome"
          * result-type-mapping="Local"
          * signature="java.util.Collection findByName (java.lang.String name)"
          * query="SELECT OBJECT(o) FROM RuleSetSchema AS o WHERE o.name = ?1"
          *
          *
          *
          * @jboss.persistence
          * datasource="java:/sw-dataSource-oraclePool"
          * datasource-mapping="Oracle9i"
          *
          */


          abstract public class RuleSetEJB extends AbstractEntityEJB {

          public RuleSetEJB() {}

          /**
          * @ejbgen:cmp-field column = ID
          * @ejbgen:primkey-field
          * @ejbgen:local-method
          *
          * @ejb.persistence
          * column-name="ID"
          * @ejb.interface-method
          * view-type="local"
          * @ejb.pk-field
          */
          abstract public String getId();
          /**
          * @ejbgen:local-method
          *
          * @ejb.interface-method
          * view-type="local"
          */
          abstract public void setId(String id);

          /**
          * @ejbgen:cmp-field column = NAME
          * @ejbgen:local-method
          *
          * @ejb.persistence
          * column-name="NAME"
          * @ejb.interface-method
          * view-type="local"
          *
          */
          abstract public String getName();
          /**
          * @ejbgen:local-method
          *
          * @ejb.interface-method
          * view-type="local"
          */
          abstract public void setName(String name);

          /**
          * @ejbgen:cmp-field column = DESCRIPTION
          * @ejbgen:local-method
          *
          * @ejb.persistence
          * column-name="DESCRIPTION"
          * @ejb.interface-method
          * view-type="local"
          */
          abstract public String getDescription();
          /**
          * @ejbgen:local-method
          *
          * @ejb.interface-method
          * view-type="local"
          */
          abstract public void setDescription(String name);


          /**
          * @ejbgen:cmp-field column = APPLICATION
          * @ejbgen:local-method
          *
          * @ejb.persistence
          * column-name="APPLICATION"
          * @ejb.interface-method
          * view-type="local"
          *
          */
          abstract public String getApplication();
          /**
          * @ejbgen:local-method
          *
          * @ejb.interface-method
          * view-type="local"
          */
          abstract public void setApplication(String application);

          /**
          * @ejbgen:cmp-field column = APPLICATION_NAME
          * @ejbgen:local-method
          *
          * @ejb.persistence
          * column-name="APPLICATION_NAME"
          * @ejb.interface-method
          * view-type="local"
          */
          abstract public String getApplicationName();
          /**
          * @ejbgen:local-method
          *
          * @ejb.interface-method
          * view-type="local"
          */
          abstract public void setApplicationName(String application);



          /**
          * @ejbgen:cmp-field column = CREATED_DATE
          * @ejbgen:local-method
          *
          * @ejb.persistence
          * column-name="CREATED_DATE"
          * @ejb.interface-method
          * view-type="local"
          */
          abstract public Timestamp getCreatedDate();
          /**
          * @ejbgen:local-method
          *
          * @ejb.interface-method
          * view-type="local"
          */
          abstract public void setCreatedDate(Timestamp cDate);

          /**
          * @ejbgen:cmp-field column = STATUS
          * @ejbgen:local-method
          *
          * @ejb.persistence
          * column-name="STATUS"
          * @ejb.interface-method
          * view-type="local"
          */
          abstract public String getStatus();
          /**
          * @ejbgen:local-method
          *
          * @ejb.interface-method
          * view-type="local"
          */
          abstract public void setStatus (String status);

          /**
          * @ejbgen:cmp-field column = TYPE
          * @ejbgen:local-method
          *
          * @ejb.persistence
          * column-name="TYPE"
          * @ejb.interface-method
          * view-type="local"
          */
          abstract public int getType();
          /**
          * @ejbgen:local-method
          *
          * @ejb.interface-method
          * view-type="local"
          */
          abstract public void setType(int val);

          /**
          * @ejbgen:cmp-field column = FOR_TYPE
          * @ejbgen:local-method
          *
          * @ejb.persistence
          * column-name="FOR_TYPE"
          * @ejb.interface-method
          * view-type="local"
          */
          abstract public int getForType();
          /**
          * @ejbgen:local-method
          *
          *
          * @ejb.interface-method
          * view-type="local"
          */
          abstract public void setForType(int val);

          /**
          * @ejbgen:cmp-field column = FOR_TYPE_DEFAULT
          * @ejbgen:local-method
          *
          * @ejb.persistence
          * column-name="FOR_TYPE_DEFAULT"
          * @ejb.interface-method
          * view-type="local"
          */
          abstract public int getForTypeDefault();
          /**
          * @ejbgen:local-method
          *
          * @ejb.interface-method
          * view-type="local"
          */
          abstract public void setForTypeDefault(int val);

          /**
          * @ejbgen:cmp-field column = SCREEN_NAME
          * @ejbgen:local-method
          *
          * @ejb.persistence
          * column-name="SCREEN_NAME"
          * @ejb.interface-method
          * view-type="local"
          */
          abstract public String getScreenName();
          /**
          * @ejbgen:local-method
          *
          *
          *
          * @ejb.interface-method
          * view-type="local"
          */
          abstract public void setScreenName(String screen);



          /**
          * @ejbgen:cmp-field column = PROF_FILTER
          * @ejbgen:local-method
          *
          * @ejb.persistence
          * column-name="PROF_FILTER"
          * @ejb.interface-method
          * view-type="local"
          */
          abstract public int getProfanityFilter();
          /**
          * @ejbgen:local-method
          *
          * @ejb.interface-method
          * view-type="local"
          */
          abstract public void setProfanityFilter(int val);

          /**
          * @ejbgen:cmp-field column = DUP_TYPE
          * @ejbgen:local-method
          *
          * @ejb.persistence
          * column-name="DUP_TYPE"
          * @ejb.interface-method
          * view-type="local"
          */
          abstract public int getDuplicateType();
          /**
          * @ejbgen:local-method
          *
          * @ejb.interface-method
          * view-type="local"
          */
          abstract public void setDuplicateType(int val);

          /**
          * @ejbgen:cmp-field column = DUP_DATA_OBJ_ID
          * @ejbgen:local-method
          *
          * @ejb.persistence
          * column-name="DUP_DATA_OBJ_ID"
          * @ejb.interface-method
          * view-type="local"
          */
          abstract public String getDupDataObjectId();
          /**
          * @ejbgen:local-method
          *
          * @ejb.interface-method
          * view-type="local"
          */
          abstract public void setDupDataObjectId (String val);

          /**
          * @ejbgen:cmp-field column = DUP_DATA_OBJ_NAME
          * @ejbgen:local-method
          *
          *
          * @ejb.persistence
          * column-name="DUP_DATA_OBJ_NAME"
          * @ejb.interface-method
          * view-type="local"
          *
          */
          abstract public String getDupDataObjectName();
          /**
          * @ejbgen:local-method
          *
          * @ejb.interface-method
          * view-type="local"
          */
          abstract public void setDupDataObjectName (String val);

          /**
          * @ejbgen:cmp-field column = COMMIT_TYPE
          * @ejbgen:local-method
          *
          * @ejb.persistence
          * column-name="COMMIT_TYPE"
          * @ejb.interface-method
          * view-type="local"
          */
          abstract public int getCommitType();
          /**
          * @ejbgen:local-method
          *
          * @ejb.interface-method
          * view-type="local"
          */
          abstract public void setCommitType(int val);



          /**
          * @ejbgen:cmp-field column = CREATED_BY_ID
          * @ejbgen:local-method
          *
          * @ejb.persistence
          * column-name="CREATED_BY_ID"
          * @ejb.interface-method
          * view-type="local"
          */
          abstract public String getCreatedById();
          /**
          * @ejbgen:local-method
          *
          * @ejb.interface-method
          * view-type="local"
          */
          abstract public void setCreatedById (String val);

          /**
          * @ejbgen:cmp-field column = CREATED_BY_NAME
          * @ejbgen:local-method
          *
          * @ejb.persistence
          * column-name="CREATED_BY_NAME"
          * @ejb.interface-method
          * view-type="local"
          */
          abstract public String getCreatedByName();
          /**
          * @ejbgen:local-method
          *
          * @ejb.interface-method
          * view-type="local"
          */
          abstract public void setCreatedByName (String val);


          /**
          * @ejbgen:cmp-field column = MODIFIED_DATE
          * @ejbgen:local-method
          *
          * @ejb.persistence
          * column-name="MODIFIED_DATE"
          * @ejb.interface-method
          * view-type="local"
          */
          abstract public Timestamp getModifiedDate();
          /**
          * @ejbgen:local-method
          *
          *
          *
          * @ejb.interface-method
          * view-type="local"
          */
          abstract public void setModifiedDate(Timestamp cDate);


          /**
          * @ejbgen:cmp-field column = MODIFIED_BY_ID
          * @ejbgen:local-method
          *
          * @ejb.persistence
          * column-name="MODIFIED_BY_ID"
          * @ejb.interface-method
          * view-type="local"
          */
          abstract public String getModifiedById();
          /**
          * @ejbgen:local-method
          *
          * @ejb.interface-method
          * view-type="local"
          */
          abstract public void setModifiedById (String val);

          /**
          * @ejbgen:cmp-field column = MODIFIED_BY_NAME
          * @ejbgen:local-method
          *
          * @ejb.persistence
          * column-name="MODIFIED_BY_NAME"
          * @ejb.interface-method
          * view-type="local"
          */
          abstract public String getModifiedByName();
          /**
          * @ejbgen:local-method
          *
          *
          *
          * @ejb.interface-method
          * view-type="local"
          */
          abstract public void setModifiedByName (String val);


          /**
          * @ejbgen:cmp-field column = AUDIT_LEVEL
          * @ejbgen:local-method
          *
          * @ejb.persistence
          * column-name="AUDIT_LEVEL"
          * @ejb.interface-method
          * view-type="local"
          */
          abstract public int getAuditLevel();
          /**
          * @ejbgen:local-method
          *
          * @ejb.interface-method
          * view-type="local"
          */
          abstract public void setAuditLevel(int val);


          /**
          * @ejbgen:cmp-field column = DEBUGGABLE
          * @ejbgen:local-method
          *
          * @ejb.persistence
          * column-name="DEBUGGABLE"
          * @ejb.interface-method
          * view-type="local"
          */
          abstract public int getDebuggable();
          /**
          * @ejbgen:local-method
          *
          *
          * @ejb.interface-method
          * view-type="local"
          */
          abstract public void setDebuggable(int val);

          /**
          * @ejbgen:cmp-field column = SCOPE
          * @ejbgen:local-method
          *
          * @ejb.persistence
          * column-name="SCOPE"
          * @ejb.interface-method
          * view-type="local"
          */
          abstract public int getScope();
          /**
          * @ejbgen:local-method
          *
          * @ejb.interface-method
          * view-type="local"
          */
          abstract public void setScope(int val);

          /**
          * @ejbgen:cmp-field column = PARENT_ID
          * @ejbgen:local-method
          *
          * @ejb.persistence
          * column-name="PARENT_ID"
          * @ejb.interface-method
          * view-type="local"
          *
          *
          */
          abstract public String getParentId();
          /**
          * @ejbgen:local-method
          *
          *
          * @ejb.interface-method
          * view-type="local"
          */
          abstract public void setParentId (String val);

          /**
          * @ejbgen:cmp-field column = PARENT_NAME
          * @ejbgen:local-method
          *
          * @ejb.persistence
          * column-name="PARENT_NAME"
          * @ejb.interface-method
          * view-type="local"
          */
          abstract public String getParentName();
          /**
          * @ejbgen:local-method
          *
          * @ejb.interface-method
          * view-type="local"
          */
          abstract public void setParentName(String val);

          /**
          * @ejbgen:cmp-field column = SUPER_ID
          * @ejbgen:local-method
          *
          * @ejb.persistence
          * column-name="SUPER_ID"
          * @ejb.interface-method
          * view-type="local"
          */
          abstract public String getSuperId();
          /**
          * @ejbgen:local-method
          */
          abstract public void setSuperId (String val);

          /**
          * @ejbgen:cmp-field column = SUPER_NAME
          * @ejbgen:local-method
          *
          * @ejb.persistence
          * column-name="SUPER_NAME"
          * @ejb.interface-method
          * view-type="local"
          */
          abstract public String getSuperName();
          /**
          * @ejbgen:local-method
          *
          * @ejb.interface-method
          * view-type="local"
          */
          abstract public void setSuperName(String val);


          /**
          * @ejbgen:cmr-field
          * @ejbgen:local-method
          */
          //abstract public Set getDIRules();
          /**
          * @ejbgen:local-method
          */
          //abstract public void setDIRules (Set drRules);

          /**
          * @ejbgen:cmr-field
          * @ejbgen:local-method
          */
          //abstract public Set getCSRules();
          /**
          * @ejbgen:local-method
          */
          //abstract public void setCSRules (Set csRules);

          /**
          * @ejbgen:cmr-field
          * @ejbgen:local-method
          */
          //abstract public Set getSRRules();
          /**
          * @ejbgen:local-method
          */
          //abstract public void setSRRules (Set srRules);

          /**
          * @ejbgen:cmr-field
          * @ejbgen:local-method
          */
          //abstract public Set getMDRules();
          /**
          * @ejbgen:local-method
          */
          //abstract public void setMDRules (Set mdRules);

          /**
          * @ejbgen:cmr-field
          * @ejbgen:local-method
          */
          //abstract public Set getSSRules();
          /**
          * @ejbgen:local-method
          */
          //abstract public void setSSRules (Set ssRules);


          /**
          * @ejbgen:cmr-field
          * @ejbgen:local-method
          */
          //abstract public Set getDPRules();
          /**
          * @ejbgen:local-method
          */
          //abstract public void setDPRules (Set dpRules);


          /**
          * @ejbgen:cmr-field
          * @ejbgen:local-method
          */
          //abstract public Set getRuleSetShares();
          /**
          * @ejbgen:local-method
          */
          //abstract public void setRuleSetShares (Set rsShares);

          /**
          * @ejbgen:cmr-field
          * @ejbgen:local-method
          */
          //abstract public Set getRTInstances();
          /**
          * @ejbgen:local-method
          */
          //abstract public void setRTInstances(Set val);

          /**
          * @ejbgen:cmr-field
          * @ejbgen:local-method
          *
          * @ejb.interface-method
          * view-type="local"
          *
          * @ejb.value-object
          * compose="com.stalworth.dqrules.vobj.RuleSetValue"
          * compose-name="SubSet"
          * members="com.stalworth.dqrules.cmp.RuleSetLocal"
          * members-name="RuleSet"
          * relation="external"
          * type="java.util.Set"
          *
          * @ejb.relation
          * name="RuleSet-RuleSet"
          * role-name="RuleSetHasSubsets"
          * target-ejb="RuleSet"
          * target-role-name = "SubsetIsAPartOfRuleSet"
          *
          * @jboss.target-relation
          * fk-column = "PARENT_ID"
          * related-pk-field = "id"
          * sql-type="VARCHAR2"
          * jdbc-type="VARCHAR"
          *
          */
          abstract public Set getSubSets();
          /**
          * @ejbgen:local-method
          *
          * @ejb.interface-method
          * view-type="local"
          */
          abstract public void setSubSets(Set val);

          /**
          * @ejbgen:cmr-field
          * @ejbgen:local-method
          *
          *
          * @ejb.interface-method
          * view-type="local"
          *
          * @ejb.value-object
          * compose="com.stalworth.dqrules.vobj.RuleSetValue"
          * compose-name="Parent"
          * members="com.stalworth.dqrules.cmp.RuleSetLocal"
          * members-name="RuleSet"
          * relation="external"
          *
          *
          * @ejb.relation
          * name="RuleSet-RuleSet"
          * role-name="SubsetIsAPartOfRuleSet"
          * cascade-delete="yes"
          *
          *
          * @jboss.relation
          * related-pk-field="id"
          * fk-column="PARENT_ID"
          * sql-type="VARCHAR2"
          * jdbc-type="VARCHAR"
          *
          */
          abstract public RuleSetLocal getParent();
          /**
          * @ejbgen:local-method
          *
          * @ejb.interface-method
          * view-type="local"
          *
          */
          abstract public void setParent(RuleSetLocal val);

          /**
          *
          * @ejb.interface-method
          * view-type="local"
          *
          *
          */
          abstract public com.stalworth.dqrules.vobj.RuleSetValue getRuleSetValue();
          /**
          *
          *
          * @ejb.interface-method
          * view-type="local"
          *
          */
          abstract public void setRuleSetValue(com.stalworth.dqrules.vobj.RuleSetValue val);


          /**
          *
          *
          * @ejb.interface-method
          * view-type="local"
          *
          */
          abstract public void setParent(com.stalworth.dqrules.vobj.RuleSetValue val);

          /**
          * @ejbgen:local-method
          */
          /* public java.util.Collection getRules () throws EJBException
          {
          java.util.ArrayList rules = new java.util.ArrayList (5);
          rules.addAll (getRules(DQRulesConstants.CONST_CS_RULE_INSTANCE_TYPE));
          rules.addAll (getRules(DQRulesConstants.CONST_SR_RULE_INSTANCE_TYPE));
          rules.addAll (getRules(DQRulesConstants.CONST_DI_RULE_INSTANCE_TYPE));
          rules.addAll (getRules(DQRulesConstants.CONST_SS_RULE_INSTANCE_TYPE));
          rules.addAll (getRules(DQRulesConstants.CONST_DP_RULE_INSTANCE_TYPE));
          rules.addAll (getRules(DQRulesConstants.CONST_MD_RULE_INSTANCE_TYPE));
          return rules;
          }
          */

          /**
          * @ejbgen:local-method
          */
          /* public java.util.Collection getRules (String ruleInstanceType, String ruleType) throws EJBException
          {
          if (ruleInstanceType.equals (DQRulesConstants.CONST_CS_RULE_INSTANCE_TYPE)) {
          try {
          CSRuleLocalHome csRuleHome =
          (CSRuleLocalHome) EJBFinder.findEJBLocalHome (DQRulesEntityHomeNames.CONST_CS_RULE_HOME);

          if(ruleType != null)
          return csRuleHome.findByType (getId(), ruleType);
          else
          return csRuleHome.findByPriority (getId());
          }
          catch (Exception e) {
          throw new javax.ejb.EJBException (e);
          }
          }
          else if (ruleInstanceType.equals (DQRulesConstants.CONST_DI_RULE_INSTANCE_TYPE)) {
          try {
          DIRuleLocalHome diRuleHome =
          (DIRuleLocalHome) EJBFinder.findEJBLocalHome (DQRulesEntityHomeNames.CONST_DI_RULE_HOME);

          return diRuleHome.findByPriority (getId());

          }
          catch (Exception e) {
          throw new javax.ejb.EJBException (e);
          }
          }
          else if (ruleInstanceType.equals (DQRulesConstants.CONST_SR_RULE_INSTANCE_TYPE)) {
          try {
          SRRuleLocalHome srRuleHome =
          (SRRuleLocalHome) EJBFinder.findEJBLocalHome (DQRulesEntityHomeNames.CONST_SR_RULE_HOME);
          return srRuleHome.findByPriority (getId());
          }
          catch (Exception e) {
          throw new javax.ejb.EJBException (e);
          }
          }
          else if (ruleInstanceType.equals (DQRulesConstants.CONST_SS_RULE_INSTANCE_TYPE)) {
          try {
          SSRuleLocalHome ssRuleHome =
          (SSRuleLocalHome) EJBFinder.findEJBLocalHome (DQRulesEntityHomeNames.CONST_SS_RULE_HOME);
          return ssRuleHome.findByPriority (getId());
          }
          catch (Exception e) {
          throw new javax.ejb.EJBException (e);
          }
          }
          else if (ruleInstanceType.equals (DQRulesConstants.CONST_MD_RULE_INSTANCE_TYPE)) {
          try {
          MDRuleLocalHome mdRuleHome =
          (MDRuleLocalHome) EJBFinder.findEJBLocalHome (DQRulesEntityHomeNames.CONST_MD_RULE_HOME);
          return mdRuleHome.findByPriority (getId());
          }
          catch (Exception e) {
          throw new javax.ejb.EJBException (e);
          }
          }
          else if (ruleInstanceType.equals (DQRulesConstants.CONST_DP_RULE_INSTANCE_TYPE)) {
          try {
          DPRuleLocalHome dpRuleHome =
          (DPRuleLocalHome) EJBFinder.findEJBLocalHome (DQRulesEntityHomeNames.CONST_DP_RULE_HOME);
          return dpRuleHome.findByPriority (getId());
          }
          catch (Exception e) {
          throw new javax.ejb.EJBException (e);
          }
          }

          return null;
          }
          */

          /**
          * @ejbgen:local-method
          */
          /* public java.util.Collection getRules (String ruleInstanceType) throws EJBException
          {

          return getRules(ruleInstanceType,null);

          }
          */
          /**
          * @ejbgen:local-method
          */
          /* public java.util.List getRulesAsList (String ruleInstanceType) throws EJBException
          {
          java.util.ArrayList rules = new java.util.ArrayList (20);
          rules.addAll(getRules(ruleInstanceType,null));
          return rules;

          }
          */

          /**
          *
          *
          * @ejb.create-method
          * view-type="local"
          *
          */

          public String ejbCreate(String id, String name)
          throws CreateException
          {
          setId(id);
          setName(name);

          return null;
          }

          public void ejbPostCreate(String id,String name) throws EJBException
          {

          }

          /**
          *
          *
          * @ejb.create-method
          * view-type="local"
          *
          */

          public String ejbCreate(com.stalworth.dqrules.vobj.RuleSetValue v)
          throws CreateException
          {
          setId(v.getId());
          setName(v.getName());

          return null;
          }

          public void ejbPostCreate(com.stalworth.dqrules.vobj.RuleSetValue v) throws EJBException
          {

          }


          /**
          *
          *
          * @ejb.create-method
          * view-type="local"
          *
          */

          public String ejbCreate(String id, String name,RuleSetLocal parent)
          throws CreateException
          {
          setId(id);
          setName(name);

          return null;
          }

          public void ejbPostCreate(String id,String name,RuleSetLocal parent) throws EJBException
          {
          setParent(parent);

          }


          }

          • 2. Re: Method is not a known CMP field accessor, CMR field acce
            vasudevk

            <?xml version="1.0" encoding="UTF-8"?>
            <!DOCTYPE jbosscmp-jdbc PUBLIC "-//JBoss//DTD JBOSSCMP-JDBC 3.2//EN" "http://www.jboss.org/j2ee/dtd/jbosscmp-jdbc_3_2.dtd">

            <jbosscmp-jdbc>

            <!--preferred-relation-mapping>relation-table</preferred-relation-mapping-->


            <enterprise-beans>

            <!--
            To add beans that you have deployment descriptor info for, add
            a file to your XDoclet merge directory called jbosscmp-jdbc-beans.xml
            that contains the markup for those beans.
            -->


            <ejb-name>RuleSet</ejb-name>
            java:/sw-dataSource-oraclePool
            <datasource-mapping>Oracle9i</datasource-mapping>
            <create-table>false</create-table>
            <remove-table>false</remove-table>
            <table-name>SW_DQ_RULESET</table-name>

            <cmp-field>
            <field-name>id</field-name>
            <column-name>ID</column-name>

            </cmp-field>
            <cmp-field>
            <field-name>name</field-name>
            <column-name>NAME</column-name>

            </cmp-field>
            <cmp-field>
            <field-name>description</field-name>
            <column-name>DESCRIPTION</column-name>

            </cmp-field>
            <cmp-field>
            <field-name>application</field-name>
            <column-name>APPLICATION</column-name>

            </cmp-field>
            <cmp-field>
            <field-name>applicationName</field-name>
            <column-name>APPLICATION_NAME</column-name>

            </cmp-field>
            <cmp-field>
            <field-name>createdDate</field-name>
            <column-name>CREATED_DATE</column-name>

            </cmp-field>
            <cmp-field>
            <field-name>status</field-name>
            <column-name>STATUS</column-name>

            </cmp-field>
            <cmp-field>
            <field-name>type</field-name>
            <column-name>TYPE</column-name>

            </cmp-field>
            <cmp-field>
            <field-name>forType</field-name>
            <column-name>FOR_TYPE</column-name>

            </cmp-field>
            <cmp-field>
            <field-name>forTypeDefault</field-name>
            <column-name>FOR_TYPE_DEFAULT</column-name>

            </cmp-field>
            <cmp-field>
            <field-name>screenName</field-name>
            <column-name>SCREEN_NAME</column-name>

            </cmp-field>
            <cmp-field>
            <field-name>profanityFilter</field-name>
            <column-name>PROF_FILTER</column-name>

            </cmp-field>
            <cmp-field>
            <field-name>duplicateType</field-name>
            <column-name>DUP_TYPE</column-name>

            </cmp-field>
            <cmp-field>
            <field-name>dupDataObjectId</field-name>
            <column-name>DUP_DATA_OBJ_ID</column-name>

            </cmp-field>
            <cmp-field>
            <field-name>dupDataObjectName</field-name>
            <column-name>DUP_DATA_OBJ_NAME</column-name>

            </cmp-field>
            <cmp-field>
            <field-name>commitType</field-name>
            <column-name>COMMIT_TYPE</column-name>

            </cmp-field>
            <cmp-field>
            <field-name>createdById</field-name>
            <column-name>CREATED_BY_ID</column-name>

            </cmp-field>
            <cmp-field>
            <field-name>createdByName</field-name>
            <column-name>CREATED_BY_NAME</column-name>

            </cmp-field>
            <cmp-field>
            <field-name>modifiedDate</field-name>
            <column-name>MODIFIED_DATE</column-name>

            </cmp-field>
            <cmp-field>
            <field-name>modifiedById</field-name>
            <column-name>MODIFIED_BY_ID</column-name>

            </cmp-field>
            <cmp-field>
            <field-name>modifiedByName</field-name>
            <column-name>MODIFIED_BY_NAME</column-name>

            </cmp-field>
            <cmp-field>
            <field-name>auditLevel</field-name>
            <column-name>AUDIT_LEVEL</column-name>

            </cmp-field>
            <cmp-field>
            <field-name>debuggable</field-name>
            <column-name>DEBUGGABLE</column-name>

            </cmp-field>
            <cmp-field>
            <field-name>scope</field-name>
            <column-name>SCOPE</column-name>

            </cmp-field>
            <cmp-field>
            <field-name>parentId</field-name>
            <column-name>PARENT_ID</column-name>

            </cmp-field>
            <cmp-field>
            <field-name>parentName</field-name>
            <column-name>PARENT_NAME</column-name>

            </cmp-field>
            <cmp-field>
            <field-name>superId</field-name>
            <column-name>SUPER_ID</column-name>

            </cmp-field>
            <cmp-field>
            <field-name>superName</field-name>
            <column-name>SUPER_NAME</column-name>

            </cmp-field>

            <!-- jboss 3.2 features -->
            <!-- optimistic locking does not express the exclusions needed -->


            </enterprise-beans>


            <ejb-relation>
            <ejb-relation-name>RuleSet-RuleSet</ejb-relation-name>

            <ejb-relationship-role>
            <ejb-relationship-role-name>SubsetIsAPartOfRuleSet</ejb-relationship-role-name>
            <key-fields/>

            </ejb-relationship-role>
            <ejb-relationship-role>
            <ejb-relationship-role-name>RuleSetHasSubsets</ejb-relationship-role-name>
            <key-fields>
            <key-field>
            <field-name>id</field-name>
            <column-name>PARENT_ID</column-name>
            </key-field>
            </key-fields>
            </ejb-relationship-role>
            </ejb-relation>


            </jbosscmp-jdbc>

            • 3. Re: Method is not a known CMP field accessor, CMR field acce
              vasudevk

              <?xml version="1.0" encoding="UTF-8"?>
              <!DOCTYPE ejb-jar PUBLIC "-//Sun Microsystems, Inc.//DTD Enterprise JavaBeans 2.0//EN" "http://java.sun.com/dtd/ejb-jar_2_0.dtd">

              <ejb-jar >

              <![CDATA[blah]]>
              <display-name>Generated by XDoclet</display-name>

              <enterprise-beans>

              <!-- Session Beans -->
              <!--
              To add session beans that you have deployment descriptor info for, add
              a file to your XDoclet merge directory called session-beans.xml that contains
              the markup for those beans.
              -->

              <!-- Entity Beans -->

              <![CDATA[]]>

              <ejb-name>RuleSet</ejb-name>

              <local-home>com.stalworth.dqrules.cmp.RuleSetLocalHome</local-home>
              com.stalworth.dqrules.cmp.RuleSetLocal

              <ejb-class>com.stalworth.dqrules.cmp.RuleSetCMP</ejb-class>
              <persistence-type>Container</persistence-type>
              <prim-key-class>java.lang.String</prim-key-class>
              False
              <cmp-version>2.x</cmp-version>
              <abstract-schema-name>RuleSetSchema</abstract-schema-name>
              <cmp-field >
              <![CDATA[]]>
              <field-name>id</field-name>
              </cmp-field>
              <cmp-field >
              <![CDATA[]]>
              <field-name>name</field-name>
              </cmp-field>
              <cmp-field >
              <![CDATA[]]>
              <field-name>description</field-name>
              </cmp-field>
              <cmp-field >
              <![CDATA[]]>
              <field-name>application</field-name>
              </cmp-field>
              <cmp-field >
              <![CDATA[]]>
              <field-name>applicationName</field-name>
              </cmp-field>
              <cmp-field >
              <![CDATA[]]>
              <field-name>createdDate</field-name>
              </cmp-field>
              <cmp-field >
              <![CDATA[]]>
              <field-name>status</field-name>
              </cmp-field>
              <cmp-field >
              <![CDATA[]]>
              <field-name>type</field-name>
              </cmp-field>
              <cmp-field >
              <![CDATA[]]>
              <field-name>forType</field-name>
              </cmp-field>
              <cmp-field >
              <![CDATA[]]>
              <field-name>forTypeDefault</field-name>
              </cmp-field>
              <cmp-field >
              <![CDATA[]]>
              <field-name>screenName</field-name>
              </cmp-field>
              <cmp-field >
              <![CDATA[]]>
              <field-name>profanityFilter</field-name>
              </cmp-field>
              <cmp-field >
              <![CDATA[]]>
              <field-name>duplicateType</field-name>
              </cmp-field>
              <cmp-field >
              <![CDATA[]]>
              <field-name>dupDataObjectId</field-name>
              </cmp-field>
              <cmp-field >
              <![CDATA[]]>
              <field-name>dupDataObjectName</field-name>
              </cmp-field>
              <cmp-field >
              <![CDATA[]]>
              <field-name>commitType</field-name>
              </cmp-field>
              <cmp-field >
              <![CDATA[]]>
              <field-name>createdById</field-name>
              </cmp-field>
              <cmp-field >
              <![CDATA[]]>
              <field-name>createdByName</field-name>
              </cmp-field>
              <cmp-field >
              <![CDATA[]]>
              <field-name>modifiedDate</field-name>
              </cmp-field>
              <cmp-field >
              <![CDATA[]]>
              <field-name>modifiedById</field-name>
              </cmp-field>
              <cmp-field >
              <![CDATA[]]>
              <field-name>modifiedByName</field-name>
              </cmp-field>
              <cmp-field >
              <![CDATA[]]>
              <field-name>auditLevel</field-name>
              </cmp-field>
              <cmp-field >
              <![CDATA[]]>
              <field-name>debuggable</field-name>
              </cmp-field>
              <cmp-field >
              <![CDATA[]]>
              <field-name>scope</field-name>
              </cmp-field>
              <cmp-field >
              <![CDATA[]]>
              <field-name>parentId</field-name>
              </cmp-field>
              <cmp-field >
              <![CDATA[]]>
              <field-name>parentName</field-name>
              </cmp-field>
              <cmp-field >
              <![CDATA[]]>
              <field-name>superId</field-name>
              </cmp-field>
              <cmp-field >
              <![CDATA[]]>
              <field-name>superName</field-name>
              </cmp-field>
              <primkey-field>id</primkey-field>


              <query-method>
              <method-name>findAllInstances</method-name>
              <method-params>
              </method-params>
              </query-method>
              <result-type-mapping>Local</result-type-mapping>
              <ejb-ql><![CDATA[SELECT OBJECT(o) FROM RuleSetSchema AS o]]></ejb-ql>


              <query-method>
              <method-name>findByName</method-name>
              <method-params>
              <method-param>java.lang.String</method-param>
              </method-params>
              </query-method>
              <result-type-mapping>Local</result-type-mapping>
              <ejb-ql><![CDATA[SELECT OBJECT(o) FROM RuleSetSchema AS o WHERE o.name = ?1]]></ejb-ql>

              <!-- Write a file named ejb-finders-RuleSetEJB.xml if you want to define extra finders. -->


              <!--
              To add entity beans that you have deployment descriptor info for, add
              a file to your XDoclet merge directory called entity-beans.xml that contains
              the markup for those beans.
              -->

              <!-- Message Driven Beans -->
              <!--
              To add message driven beans that you have deployment descriptor info for, add
              a file to your XDoclet merge directory called message-driven-beans.xml that contains
              the <message-driven></message-driven> markup for those beans.
              -->

              </enterprise-beans>

              <!-- Relationships -->

              <ejb-relation >
              <ejb-relation-name>RuleSet-RuleSet</ejb-relation-name>

              <ejb-relationship-role >
              <ejb-relationship-role-name>SubsetIsAPartOfRuleSet</ejb-relationship-role-name>
              Many
              <cascade-delete/>
              <relationship-role-source >
              <ejb-name>RuleSet</ejb-name>
              </relationship-role-source>
              <cmr-field >
              <cmr-field-name>parent</cmr-field-name>
              </cmr-field>
              </ejb-relationship-role>

              <ejb-relationship-role >
              <ejb-relationship-role-name>RuleSetHasSubsets</ejb-relationship-role-name>
              One
              <relationship-role-source >
              <ejb-name>RuleSet</ejb-name>
              </relationship-role-source>
              <cmr-field >
              <cmr-field-name>subSets</cmr-field-name>
              <cmr-field-type>java.util.Set</cmr-field-type>
              </cmr-field>
              </ejb-relationship-role>

              </ejb-relation>


              <!-- Assembly Descriptor -->
              <assembly-descriptor >
              <!--
              To add additional assembly descriptor info here, add a file to your
              XDoclet merge directory called assembly-descriptor.xml that contains
              the <assembly-descriptor></assembly-descriptor> markup.
              -->

              <!-- finder permissions -->

              <!-- transactions -->
              <container-transaction >

              <ejb-name>RuleSet</ejb-name>
              <method-name>*</method-name>

              <trans-attribute>Supports</trans-attribute>
              </container-transaction>

              <!-- finder transactions -->
              </assembly-descriptor>

              <ejb-client-jar>dqrulescmp_client.jar</ejb-client-jar>

              </ejb-jar>

              • 4. Re: Method is not a known CMP field accessor, CMR field acce
                aloubyansky

                Which JBoss version? I guess, this is because you also have

                abstract public void setParent(com.stalworth.dqrules.vobj.RuleSetValue val);
                


                This should be fixed in 3.2.4 release. Try renaming value object setter if you are using an earlier version.

                • 5. Re: Method is not a known CMP field accessor, CMR field acce
                  vasudevk

                  JBoss 3.2.3 - Updated my system with 3.2.4 - will try.

                  • 6. Re: Method is not a known CMP field accessor, CMR field acce
                    vasudevk

                    3.2.4 fixed it - Thanks

                    There is still one problem . The Value Object code generated by xdoclet has a rentrant method detected error when setting the parent. If i set the reentrant = true then the server is in infinite loop

                    • 7. Re: Method is not a known CMP field accessor, CMR field acce

                      I had the same issue when I converted my code from the old data-object to value-objects. The only way I found around this was to make 2 value objects for each bean. One that is a "complete" object and contains the relationships to other beans. Another that is a "relation" object that has only CMP fields and no relationships to other beans. The "complete" objects only load "relation" objects so that you don't get the circular references.

                      In order to avoid the confusion for having multiple classes, I made each type (complete or relation) implement a common interface.

                      I've not figured out any better way around this problem. If you stick to using the interfaces, it's not that messy and you still benefit from auto-generated code.

                      Hope that helps,
                      gary.