Thomas,
Of course you're correct. I'd added foreign key
constraints to all my tables. Once I removed them,
OJB did the INSERT and managed all the keys for me, as
you said. I apologize for missing that subtlety.
Should I also remove foreign key constraints on
many-to-many tables? I've got three of them in this
schema. Will OJB handle those as nicely as the 1:1?
"...I agree, there is a learning curve with OJB. O/R
mapping is not trivial. But it is worth the effort.
Once you mastered the learning curve you will ask
yourself, how could I write database applications
without an O/R tool?..." - I totally agree with this
statement. That's why I'm persisting with OJB, even
if it makes me nervous about my release date.
IMHO, two great benefits of an object/relational
mapping layer are that they force SQL code out of the
business objects and they allow CMP without entity
EJBs. You can write J2EE without an app server; J2EE
and EJB need not be synonymous.
Thank you again for your fine work and timely advice.
Sincerely, MOD
--- Thomas Mahler <[EMAIL PROTECTED]> wrote:
> Hi Michael,
>
> Michael Duffy wrote:
> > I have a newbie question, if you don't mind.
> >
> > Your advanced O/R tutorial shows a 1:1 mapping
> example
> > with Article and ProductGroup classes. You've
> shown
> > the table schemas (in German, but I follow you)
> and
> > the repository_user.xml. All very good, of
> course.
> >
> > The repository XML for Article has a
> productGroupId
> > that points to the ProductGroup key, and an
> instance
> > of ProductGroup that is supposed to be owned by
> the
> > Article.
> >
> > Now if I want to ask the broker to store a brand
> new
> > Article, how do I do it? Is the productGroupId
> > required to be set to an existing before I call
> > broker.store(newArticle)?
>
> Depends on the database. If there is a FK constraint
> then yes.
> But as you can see from the table schema, there are
> no formal FK
> constraints. So, the productGroupId needs not to be
> filled.
>
> > If I want to have a new
> > ProductGroup for my Article, do I have to do this
> as a
> > five-step transaction?
> >
> > 1. Create a new ProductGroup instance
> > 2. Store the new ProductGroup instance
> > 3. Get the latest ProductGroup instances's primary
> key
> > 4. Create a new Article, using the PG primary key
> > 5. Store the new Article
>
> No it's much easier, as OJB takes care of FK
> assigment automatically:
> 1. Create a new Article a
> 2. Create a new ProductGroup instance pg
> 3. call a.setProductGroup(pg)
> 4. store the new Article.
>
> OJB manages the FK assignment for you. If you have
> set
> auto-update="true" on the productGroup
> reference-descriptor then OJB
> will also store the new PG on storing the new
> article!
>
>
> > I'm sure it's my lack of understanding, because
> this
> > feels very difficult. I'm still climbing that OJB
> > learning curve.
>
> I agree, there is a learning curve with OJB. O/R
> mapping is not trivial.
> But it is worth the effort. Once you mastered the
> learning curve you
> will ask yourself, how could I write database
> applications without an
> O/R tool?
>
> cheers,
> Thomas
>
> >
> > Thank you for your work, help, and patience.
> > Sincerely, MOD
> >
> >
> > __
> > Do you Yahoo!?
> > Yahoo! Platinum - Watch CBS' NCAA March Madness,
> live on your desktop!
> > http://platinum.yahoo.com
> >
> >
>
-
> > 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]
>
__
Do you Yahoo!?
Yahoo! Platinum - Watch CBS' NCAA March Madness, live on your desktop!
http://platinum.yahoo.com
-
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]