hi, i'm trying to get basic relations to work with jboss 3.2.3 using composite keys but seem to be messing up somewhere.


I'm using the following structure:


Table user_in_group (2 fields only) :
user_id (part of composite primary key)
group_id (part of composite primary key)

Table events:
event_id (primary key)
user_id (foreign key to user_id in user_in_group table)
group_id(fk to group_id)
event_name
...



in UserInGroup Bean i have

  /**
   * @ejb.pk-field
        * @ejb.persistence table-name="UserInGroup"
        * @ejb.interface-method view-type="both"
        * @jboss.column-name name="user_id"
   */
  public abstract java.lang.Integer getUserId();
  /**
        * @ejb.persistence table-name="UserInGroup"
        * @ejb.interface-method view-type="local"
        * @jboss.column-name name="user_id"
   */
  public abstract void setUserId(java.lang.Integer user_id);


/** * @ejb.pk-field * @ejb.persistence table-name="UserInGroup" * @ejb.interface-method view-type="both" * @jboss.column-name name="group_id" */ public abstract java.lang.Integer getGroupId(); /** * @ejb.persistence table-name="UserInGroup" * @ejb.interface-method view-type="both" * @jboss.column-name name="group_id" */ public abstract void setGroupId(java.lang.Integer group_id);


and in Event Bean


   /**
        * @ejb.persistence table-name="events"
        * @ejb.interface-method view-type="both"
        * @jboss.column-name name="user_id"
   */
  public abstract Integer getUserId();
  /**
        * @ejb.persistence table-name="events"
        * @ejb.interface-method view-type="both"
        * @jboss.column-name name="user_id"
   */
  public abstract void setUserId(Integer user_id);


/** * @ejb.persistence table-name="events" * @ejb.interface-method view-type="both" * @jboss.column-name name="group_id" */ public abstract java.lang.Integer getGroupId(); /** * @ejb.persistence table-name="events" * @ejb.interface-method view-type="both" * @jboss.column-name name="group_id" */ public abstract void setGroupId(Integer group_id);


The relation is defined in Event bean as


/**
* @ejb:interface-method view-type="both"
* @ejb:transaction type="Required"
*
* @ejb:relation
* name="Event-UIG"
* role-name="Event-UIG-role"
* target-ejb="UserInGroup"
* target-role-name="eventsOf-UIG"
* target-multiple="no"
*
* @jboss:relation
* fk-column="userId"
* related-pk-field="userId"
* @jboss:relation
* fk-column="groupId"
* related-pk-field="groupId"
*/
public abstract scheduler.interfaces.UserInGroupLocal getUIGRecord();
/**
* @ejb:interface-method view-type="local"
*/
public abstract void setUIGRecord(scheduler.interfaces.UserInGroupLocal uig);



The method interface is generated to the Event and EventLocal files.




To confirm that there is a record available, i performed the sql search

select u.* from user_in_group u, events e
where u.user_id = e.user_id
and u.group_id = e.group_id
and e.event_id=1;

and was able to retrieve one record.


But when i try to use the following relation,


  Event event = eventHome.findByPrimaryKey(new EventPK(new Integer(1)));
  scheduler.interfaces.UserInGroupLocal uigRecord = event.getUIGRecord();

i get "javax.ejb.ObjectNotFoundException: No such entity!" on the second line using the relation.

Thanks for your help,

Regards,
sunil.

_________________________________________________________________
Get tax tips, tools and access to IRS forms � all in one place at MSN Money! http://moneycentral.msn.com/tax/home.asp




-------------------------------------------------------
This SF.Net email is sponsored by: IBM Linux Tutorials
Free Linux tutorial presented by Daniel Robbins, President and CEO of
GenToo technologies. Learn everything from fundamentals to system
administration.http://ads.osdn.com/?ad_id=1470&alloc_id=3638&op=click
_______________________________________________
xdoclet-user mailing list
[EMAIL PROTECTED]
https://lists.sourceforge.net/lists/listinfo/xdoclet-user

Reply via email to