Hi, I had to create a finder method for a field that wasn't one of my entity beans fields, in fact, it's a fk field managed by CMR.
No deployment errors occurs, but when I run my test cases I notice that every ejbCreation (for this entity) fails with: 17:31:04,169 ERROR [ForumMemberUsuario] Could not create entity java.sql.SQLException: ERROR: Attribute 'memberid' specified more than once I built my relation based on this: http://www.mail-archive.com/[EMAIL PROTECTED]/msg06437.html Follows some code snippets: /** * @ejb.bean name="ForumMemberUsuario" * jndi-name="ForumMemberUsuarioBean" * type="CMP" * primkey-field="id" * schema="ForumMemberUsuarioSchema" * cmp-version="2.x" * * @ejb.persistence * table-name="BLOODMEMBROUSUARIOPORTAL" * * @ejb.finder * query="SELECT OBJECT(a) FROM ForumMemberUsuarioSchema as a WHERE a.memberID = ?1" * signature="ForumMemberUsuarioLocal findByMemberID(java.lang.Integer Id)" * * @ejb.ejb-ref * ejb-name="ForumMember" * view-type="local" * ref-name="ejb/ForumMemberLocal" * * @ejb.ejb-ref * ejb-name="Administrador" * view-type="local" * ref-name="ejb/AdministradorLocal" * * @ejb.ejb-ref * ejb-name="SequenceSession" * view-type="local" * ref-name="ejb/SequenceSessionLocal" * **/ public abstract class ForumMemberUsuarioBean implements EntityBean { // my ejbCreate don't do much - just obtain a sequence.nextval for PK // so I'll omit the code. public void ejbPostCreate(ForumMember member) throws javax.ejb.CreateException { try { ForumMemberLocal localForumMember = ForumMemberUtil.getLocalHome().findByPrimaryKey(member.getId()); setForumMember(localForumMember); } catch (Exception e) { StringWriter str = new StringWriter(); PrintWriter w = new PrintWriter(str); e.printStackTrace(w); w.close(); throw new CreateException(str.getBuffer().toString()); } } // Now follows the problem :-) /** * Returns the MemberID * @return the MemberID * * @ejb.persistent-field * @ejb.persistence * column-name="MemberID" * sql-type="LONG" * @ejb.interface-method */ public abstract java.lang.Long getMemberID(); /** * Sets the MemberID * * @param java.lang.Long the new Id value * * @ejb.interface-method */ public abstract void setMemberID(java.lang.Long Id); /** * Returns the related ForumMember * * @ejb.interface-method * * @ejb.relation * name="ForumMember-ForumMemberUsuario" * relation-name="ForumMember-cmp20-ForumMemberUsuario-cmp20" * role-name="ForumMemberUsuario-cmp20-has-ForumMember-cmp20" * target-ejb="ForumMember" * target-role-name="ForumMemberUsuario-ForumMember" * * @jboss.relation-mapping style="foreign-key" * * @jboss.relation * fk-constraint="true" * fk-column="memberid" * related-pk-field="id" */ public abstract ForumMember getForumMember(); /** * Sets the related ForumMember * * @param forumMember the related ForumMember * * @ejb.interface-method * view-type="local" */ public abstract void setForumMember(ForumMemberLocal forumMember); } My test case fails in the create() method call: ForumMemberUsuario memberUser = getForumMemberUsuarioHome().create(member); If the get/setmemberid wasn't necessary to EJB QL, then its fixed, but I didn't find out a better approach. Any help will be great. Regards, hammett ------------------------------------------------------- This SF.net email is sponsored by: SF.net Giveback Program. Does SourceForge.net help you be more productive? Does it help you create better code? SHARE THE LOVE, and help us help YOU! Click Here: http://sourceforge.net/donate/ _______________________________________________ xdoclet-user mailing list [EMAIL PROTECTED] https://lists.sourceforge.net/lists/listinfo/xdoclet-user
