Oki..

The Users Table has:

user_key (primary key)
username
password
date_add
date_avail
date_expire
status_id (ref to a status_ids table 1:1)

And the MailMessages table

messageKey
subject
fromUser (Here i need to ref to 1 user in Users table 1:1)
toUsers (Here I need to have a Collection of Users 1:N)
messageType (ref to messagetypes table 1:1)
parrentmessagekey (ref to other mailmessage 1:1)
projecttaskkey (ref to projecttasks table 1:1)
text

The names is a little.....
the Users table is created by hand long ago, and the MailMessages is
created by jboss when deployed first time. its empty so no matter if i
have to drop it, but no dropping the Users table.


In the MailMessagesBean.java i have:



/**
* @ejb.interface-method
* @ejb.relation
*   name="MailMessages-toUsers"
*   role-name="MailMessages-Has-toUsers"
*   target-ejb="Users"
*   target-role-name="toUsers-belongs-to-MailMessages"
*   target-cascade-delete="yes"
* @jboss.target-relation
*   related-pk-field="messageKey"
*   fk-column="msgKey"
* @jboss.relation-table
*   table-name="MailMessages_toUsers"
*/
public abstract Collection getToUsers();
/**
* @ejb:interface-method view-type="local"
*/
public abstract void setToUsers(Collection toUsers);




when i deploy jboss doesnt create the MailMessages_toUsers table, 
Xdoclet generates these deployment descriptors:
It generates <foreign-key-mapping/> in jbosscmp-jdbc.xml and not
relation-table, i even tried
@jboss.relation-mapping style="relation-table", still no relation-table
in jbosscmp-jdbc.xml



ejb-jar.xml:

      <ejb-relation >
         <ejb-relation-name>MailMessages-toUsers</ejb-relation-name>
         <!-- unidirectional -->
         <ejb-relationship-role >
           
<ejb-relationship-role-name>MailMessages-Has-toUsers</ejb-relationship-role-name>
            <multiplicity>One</multiplicity>
            <relationship-role-source >
               <ejb-name>MailMessages</ejb-name>
            </relationship-role-source>
            <cmr-field >
               <cmr-field-name>toUsers</cmr-field-name>
               <cmr-field-type>java.util.Collection</cmr-field-type>
            </cmr-field>
         </ejb-relationship-role>
         <ejb-relationship-role >
           
<ejb-relationship-role-name>toUsers-belongs_to-MailMessages</ejb-relationship-role-name>
            <multiplicity>Many</multiplicity>
            <cascade-delete/>
            <relationship-role-source >
               <ejb-name>Users</ejb-name>
            </relationship-role-source>
         </ejb-relationship-role>
      </ejb-relation>


jbosscmp-jdbc.xml:

    <ejb-relation>
      <ejb-relation-name>MailMessages-toUsers</ejb-relation-name>
      <foreign-key-mapping/>
      <ejb-relationship-role>
         
<ejb-relationship-role-name>MailMessages-Has-toUsers</ejb-relationship-role-name>
          <key-fields>
             <key-field>
               <field-name>messageKey</field-name>
               <column-name>msgKey</column-name>
             </key-field>
          </key-fields>
      </ejb-relationship-role>
      <ejb-relationship-role>
         
<ejb-relationship-role-name>toUsers-belongs_to-MailMessages</ejb-relationship-role-name>
          <key-fields/>
      </ejb-relationship-role>
    </ejb-relation>



my build.xml has:

<localinterface/>
<homeinterface />
<localhomeinterface/>
<remoteinterface/>
<entitypk/>            
<deploymentdescriptordestdir="${ejb.build.dir}/META-INF"/>

and tryed the <entitycmp/>, whats that for ??




Regards David




On Wed, 2003-10-01 at 23:25, Harkness, David wrote:
> Trying to clarify...
> 
> David Nielsen <mailto:[EMAIL PROTECTED]> once said:
> > /**
> > * @ejb:interface-method
> > * @ejb:relation
> > *          name="MailMessages-toUser"
> > *          role-name="MailMessages-Has-toToUser"
> > *          target-ejb="Users"
> > *          target-role-name="toUser-belongs_to-MailMessages"
> > *          target-cascade-delete="yes"
> > * @jboss:target-relation
> > *          related-pk-field="messageKey"
> > *          fk-column="messageKey"
> > * @jboss:relation-table
> > *          table-name="MailMessages_toUsers"
> > *          create-table="true"
> > *          remove-table="true"
> > ...
> > jboss creates the mailmessages + the users table but no 
> > mailmessages_tousers table, and there now are a column (messagekey) in
> 
> > users table.
> 
> This is a unidirectional 1:N relation, correct? I ask because you don't
> need a separate relation table to model 1:N -- only for N:M. And if it's
> N:M, "toUser" is actually a Collection, and the role-name would be
> "MailMessages-Have-Many-toUsers".
> 
> Though this shouldn't matter, the role-name has a typo. It should be
> "MailMessages-Has-toUser", not "toToUser". Regardless, can you provide a
> bit more detail here, perhaps including the schema and a description of
> the relation itself. I'm finding it difficult to apply my intuition when
> the names don't match up with my expectations.
> 
> For example, you use "MailMessages" and "Users", yet I expect that they
> actually represent single objects. A "Users" is a single user, and each
> may have zero-or-more "MailMessages"s. I realize, though, that many
> people name their DB tables with plurals (users_t vs. user_t). I just
> want to make sure so we can help you better.
> 
> David Harkness
> Sr. Software Engineer
> Sony Pictures Digital Networks
> (310) 482-4756
> 
> 
> -------------------------------------------------------
> This sf.net email is sponsored by:ThinkGeek
> Welcome to geek heaven.
> http://thinkgeek.com/sf
> _______________________________________________
> xdoclet-user mailing list
> [EMAIL PROTECTED]
> https://lists.sourceforge.net/lists/listinfo/xdoclet-user
> 



-------------------------------------------------------
This sf.net email is sponsored by:ThinkGeek
Welcome to geek heaven.
http://thinkgeek.com/sf
_______________________________________________
xdoclet-user mailing list
[EMAIL PROTECTED]
https://lists.sourceforge.net/lists/listinfo/xdoclet-user

Reply via email to