Thanks, it helps me a lot
I decide to only use unidirectional 1-N (I have no use of bidirectional)
However, I still have an error of my Database which tell me that I try to
duplicate a column.
In your example you use:
fk-column="person_id_fk"
And you say JBoss create the column in the Phone table.
But what if this column already exists (it's my case) ?
Is it the reason why I have my database error ? How can I go through ?
I mustn't create a new Person table without the column to let JBoss create
its own ? It would be curious...
Thanks by advance
Maxime
>Please note, the code I marked up is for a unidirectional 1:N.. and looking
>back at your original post, you're using a bidirectional.. which means
>you'll split up the relation information across the 2 classes. But, the
>rest of the semantics should still be the same
From: "Adam Levine" <[EMAIL PROTECTED]>
Reply-To: [EMAIL PROTECTED]
To: [EMAIL PROTECTED]
Subject: RE: [Xdoclet-user] JBoss + CMR
Date: Thu, 24 Jul 2003 10:21:34 -0500
Each Bean should be self-contained. It should not have any get/set
references to any fields outside of itself.
ie: PersonBean: get/setPersonId, get/setName
PhoneBean: get/setPhoneId, get/setPhoneType, get/setPhoneNumber
Then in your person bean you'll manage a Collection of Phones
//==================== CMR =================//
/**
* get the phone #s for this person
*
* @ejb.interface-method
* @ejb.value-object
* aggregate="com.interfaces.PhoneValue"
* aggregate-name="Phone"
* members="com.interfaces.PhoneLocal"
* members-name="PhoneValue"
* relation="external"
* type="Collection"
*
* @ejb.relation
* name="person-to-phones"
* role-name="person"
* multiple="yes"
* target-role-name="phones"
* target-ejb="Phone"
*
*
* @jboss.target-relation
* related-pk-field="personId" <-- this is the field to use
from the person bean
* fk-column="person_id_fk" <-- which gets put in this
column in the phone table
*
*/
public abstract java.util.Collection getPhones();
/**
[EMAIL PROTECTED]
*/
public abstract void setPhones(java.util.Collection phones)
This will cause your tables to be automatically created as such:
Person:
person_id, person_name
Phone:
phone_id, phone_type, phone_number, person_id_fk
So, to relate it to SQL:
Show all the phone #s for person whose ID is 123
select phone_number
from phone
where person_id_fk = 123
The use, or lack of, the TARGET-xxxx signifies in which direction the
relation works -- IOW, where do you place the key, and whose key is it.
I hope that helps. I had a heck of a time working it all out when I started
messing with Xdoclet and CMR.
-- adam
From: "Maxime Chevalier" <[EMAIL PROTECTED]>
Reply-To: [EMAIL PROTECTED]
To: <[EMAIL PROTECTED]>
Subject: RE: [Xdoclet-user] JBoss + CMR
Date: Thu, 24 Jul 2003 14:56:53 +0200
Thank you,
Indeed I'm storing the FK (called numetbper) in my table Personne.
But if I don't put an @ejb-persistence tag, I have an error because when I
create a Personne the server don't find the FK...
If I let the persistence tag:
It seems there is a conflict between the attributes numetbper (the FK) and
etablissement (the CMR field) during the creation.
How can I manage this
Thanks
-----Message d'origine-----
De : [EMAIL PROTECTED]
[mailto:[EMAIL PROTECTED] la part de Adam
Levine
Envoy� : mercredi 23 juillet 2003 21:29
� : [EMAIL PROTECTED]
Objet : Re: [Xdoclet-user] JBoss + CMR
If you're storing the FK in your table/class, do not create/manage it with a
@ejb-persistence tag
From: "Maxime Chevalier" <[EMAIL PROTECTED]>
Reply-To: [EMAIL PROTECTED]
To: "xdoclet" <[EMAIL PROTECTED]>
Subject: [Xdoclet-user] JBoss + CMR
Date: Wed, 23 Jul 2003 19:45:06 +0200
Hello,
I try to create CMR between 2 CMP under JBoss: Personne and Etablissement
I manage to deploy and a simple Read-access functions well.
My problem is with a Write Access. My DataBase returns:
>12:25:11,808 ERROR [STDERR] javax.ejb.CreateException: Could not create
>entity:java.sql.SQLException: ORA-00957: duplicate column name
The CMR is a 1-N relation:
in Personne:
/**
* @ejb.interface-method
* @ejb.transaction
* type = "Required"
*
* @ejb.relation
* name = "PersonnesDansUnEtablissement"
* role-name = "PersonneDansUnEtablissement"
* target-role-name = "EtablissementADesPersonnes"
*
* @jboss.relation
* fk-column = "NUMETBPER"
* related-pk-field = "numetb"
* fk-constraint = "true"
*/
public abstract Etablissement getEtablissement();
/**
* @ejb.interface-method
*/
public abstract void setEtablissement(Etablissement etablissement);
And in Etablissement:
public abstract java.sql.Date getDatemodetb();
/**
* @ejb.interface-method
* @ejb.transaction
* type = "Required"
* @ejb.relation
* name = "PersonnesDansUnEtablissement"
* role-name = "EtablissementADesPersonnes"
* target-role-name = "PersonneDansUnEtablissement"
* target-cascade-delete = "no"
*
*/
public abstract java.util.Collection getPersonne();
/**
* @ejb.interface-method
*/
public abstract void setPersonne(java.util.Collection personne);
Does anyone have an idea of the source of the problem ?
Thanks by advance
Maxime
-------------------------------------------------------
This SF.Net email sponsored by: Free pre-built ASP.NET sites including
Data Reports, E-commerce, Portals, and Forums are available now.
Download today and enter to win an XBOX or Visual Studio .NET.
http://aspnet.click-url.com/go/psa00100003ave/direct;at.aspnet_072303_01/01
_______________________________________________
xdoclet-user mailing list
[EMAIL PROTECTED]
https://lists.sourceforge.net/lists/listinfo/xdoclet-user
_________________________________________________________________
MSN 8 helps eliminate e-mail viruses. Get 2 months FREE*.
http://join.msn.com/?page=features/virus
-------------------------------------------------------
This SF.Net email sponsored by: Free pre-built ASP.NET sites including
Data Reports, E-commerce, Portals, and Forums are available now.
Download today and enter to win an XBOX or Visual Studio .NET.
http://aspnet.click-url.com/go/psa00100003ave/direct;at.aspnet_072303_01/01
_______________________________________________
xdoclet-user mailing list
[EMAIL PROTECTED]
https://lists.sourceforge.net/lists/listinfo/xdoclet-user
-------------------------------------------------------
This SF.Net email sponsored by: Free pre-built ASP.NET sites including
Data Reports, E-commerce, Portals, and Forums are available now.
Download today and enter to win an XBOX or Visual Studio .NET.
http://aspnet.click-url.com/go/psa00100003ave/direct;at.aspnet_072303_01/01
_______________________________________________
xdoclet-user mailing list
[EMAIL PROTECTED]
https://lists.sourceforge.net/lists/listinfo/xdoclet-user
_________________________________________________________________
The new MSN 8: advanced junk mail protection and 2 months FREE*
http://join.msn.com/?page=features/junkmail
-------------------------------------------------------
This SF.Net email sponsored by: Free pre-built ASP.NET sites including
Data Reports, E-commerce, Portals, and Forums are available now.
Download today and enter to win an XBOX or Visual Studio .NET.
http://aspnet.click-url.com/go/psa00100003ave/direct;at.aspnet_072303_01/01
_______________________________________________
xdoclet-user mailing list
[EMAIL PROTECTED]
https://lists.sourceforge.net/lists/listinfo/xdoclet-user
_________________________________________________________________
The new MSN 8: smart spam protection and 2 months FREE*
http://join.msn.com/?page=features/junkmail
-------------------------------------------------------
This SF.Net email sponsored by: Free pre-built ASP.NET sites including
Data Reports, E-commerce, Portals, and Forums are available now.
Download today and enter to win an XBOX or Visual Studio .NET.
http://aspnet.click-url.com/go/psa00100003ave/direct;at.aspnet_072303_01/01
_______________________________________________
xdoclet-user mailing list
[EMAIL PROTECTED]
https://lists.sourceforge.net/lists/listinfo/xdoclet-user
-------------------------------------------------------
This SF.Net email sponsored by: Free pre-built ASP.NET sites including
Data Reports, E-commerce, Portals, and Forums are available now.
Download today and enter to win an XBOX or Visual Studio .NET.
http://aspnet.click-url.com/go/psa00100003ave/direct;at.aspnet_072303_01/01
_______________________________________________
xdoclet-user mailing list
[EMAIL PROTECTED]
https://lists.sourceforge.net/lists/listinfo/xdoclet-user