Thomas,
Thank you. I don't know what we'd do without your little pointers and tips.
Everytime I browser through or contact this user list I end up smarter and
smarter...
Thanks again,
Jeff
On Monday 03 March 2003 01:57 am, you wrote:
> Hi Jeffrey,
>
> The feature you are looking for is called cascading update.
> You store the 1-side object and want all n-side objects to be persisted
> as well.
> To do this trick slightly patch the collection descriptor:
> <collection-descriptor
> name="events"
> element-class-ref="com.gilbert.Event"
> orderby="_id"
> sort="DESC"
> auto-update="true"
>
> <inverse-foreignkey field-ref="application_id"/>
> </collection-descriptor>
>
> Please also have a closer look to tutorial3.html, section on cascading
> operations.
>
> cheers,
> Thomas
>
> Jeffrey Gilbert wrote:
> > I have the following two class files:
> >
> > package com.gilbert;
> > import java.util.Collection;
> > public class Applications {
> > private int _id;
> > private String name;
> > private String description;
> > private Collection events; // To hold many event objects
> >
> > public void set_id(int _id) { this._id = _id; }
> > public int get_id() { return _id; }
> > public String getName() { return name; }
> > public void setName(String name) { this.name = name; }
> > public String getDescription() { return description; }
> > public void setDescription(String description) {
> > this.description=description;
> > }
> > public Collection getEvents() { return events; }
> > public void setEvents(Collection events) { events = events; }
> >
> > public Applications() {
> > }
> > }
> >
> > package com.gilbert;
> > public class Event {
> > protected int _id;
> > protected event;
> > protected int application_id;
> >
> > public void set_id(int _id) { this._id = _id; }
> > public int get_id() { return _id; }
> > public String getEvent() { return Event; }
> > public void setEvent(String event) { this.event = event; }
> > public int getApplication_id() { return application_id; }
> > public void setApplication_id(int application_id) {
> > this.application_id = application_id;
> > }
> >
> > public Event() {
> > }
> > }
> >
> > I have the following user defined mappings:
> >
> > <class-descriptor
> > class="com.gilbert.Event"
> > table="Event">
> > <field-descriptor
> > name="_id"
> > column="ID"
> > jdbc-type="INTEGER"
> > primarykey="true"
> > autoincrement="true"
> > />
> > <field-descriptor
> > name="event"
> > column="EVENT"
> > jdbc-type="VARCHAR"
> > />
> > <field-descriptor
> > name="application_id"
> > column="APPLICATION_ID"
> > jdbc-type="INTEGER"
> > indexed="true"
> > />
> > </reference-descriptor>
> > </class-descriptor>
> >
> > <class-descriptor
> > class="com.gilbert.Applications"
> > table="Applications">
> > <field-descriptor
> > name="_id"
> > column="ID"
> > jdbc-type="INTEGER"
> > primarykey="true"
> > autoincrement="true"
> > />
> > <field-descriptor
> > name="name"
> > column="NAME"
> > jdbc-type="VARCHAR"
> > />
> > <field-descriptor
> > name="description"
> > column="DESCRIPTION"
> > jdbc-type="VARCHAR"
> > />
> > <collection-descriptor
> > name="events"
> > element-class-ref="com.gilbert.Event"
> > orderby="_id"
> > sort="DESC">
> > <inverse-foreignkey field-ref="application_id"/>
> > </collection-descriptor>
> > </class-descriptor>
> >
> > Now I use the following code in my program but nothing seems to persist.
> >
> > //Create new application object.
> > Application application = new Application();
> > application.setName("test1");
> > application.setDescription("This is a test");
> >
> > //Create new event object.
> > Event newEvent = new Event();
> > newEvent.setEvent("test123");
> >
> > //Load new event object in vector
> > Vector e = new Vector();
> > e.add(newEvent);
> >
> > //Add Vector that contains event into application object.
> > application.setEvents(e);
> >
> > // now perform persistence operations
> > try {
> > broker.beginTransaction();
> > broker.store(application);
> > broker.commitTransaction();
> > }
> > catch (PersistenceBrokerException pbe)
> > {
> > broker.abortTransaction();
> > }
> >
> > What am I doing wrong? Do I need to persist the event object before I
> > persist the application object? Is my user defined mapping file okay?
> >
> > Thanks in advance,
> >
> > Jeff
> >
> > ---------------------------------------------------------------------
> > To unsubscribe, e-mail: [EMAIL PROTECTED]
> > For additional commands, e-mail: [EMAIL PROTECTED]
>
> ---------------------------------------------------------------------
> To unsubscribe, e-mail: [EMAIL PROTECTED]
> For additional commands, e-mail: [EMAIL PROTECTED]
---------------------------------------------------------------------
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]