You are viewing a plain text version of this content. The canonical link for it is here.
Posted to ojb-user@db.apache.org by Rick Banerjee <ri...@merindus.com> on 2003/09/12 11:30:31 UTC
Fundamental OJB question - Please help
Hi Thomas,
First of all, I'm very sorry for having posted this question to you
directly, instead of to the OJB user group.
I will not make that mistake again! Sorry!
About the solution you have provided, Thomas, I can't select from
Application class because I am not sure all persons
have applications. So if I select from Application, I can't get any of
the Person data because the Application object
returned by OJB will be null.
What I was hoping for is a way of selecting Person objects and even if
no Application objects are found, I can atleast
display the Person details in my search results page.
Can someone help! If someone has an idea would you please post it on the
group/mail it to:rickb@merindus.com
Thanks and Regards
Rick Banerjee
Mahler Thomas wrote:
> Hi Rick,
>
> please post further requests to the ojb user list, not to developers
> directly.
>
> To answer you question.
> If you select a person object, OJB will load all Application objects
> that belong to that person.
>
> You have to selct from the Application class and must use criteria
> that specify the person and other restricting criteria to select only
> certain application objects for a given user.
>
> cheers,
> Thomas
>
>
> -----Original Message-----
> *From:* Rick Banerjee [mailto:rickb@merindus.com]
> *Sent:* Friday, September 12, 2003 7:00 AM
> *To:* thomas.mahler@itellium.com; thomas.mahler@home.ins.de
> *Subject:* Really difficult OJB question - Help!
>
> Hello Thomas,
>
> I have a particularly difficult situation while using OJB for my
> project and I hope you could help me out.
>
> This is the situation:
>
> I have two tables called PERSON and APPLICATION. They are joined
> by the column IDN_TRACKINGNUMBER. The mapping from Person to
> Application is of the type 1:n, i.e. a person can have 0 to N
> applications.
>
> I was using broker.getCollectionByQuery to retrieve objects of
> type Person (which represents the table PERSON). The problem is after
> I retrieve Person objects, I do the following:
>
> // Criteria contains columns from both PERSON & APPLICATION
> searchQuery = new QueryByCriteria(Person.class, searchCriteria);
> Collection c = broker.getCollectionByQuery (criteria);
> // Iterate and retrieve Person objects.
> // p is the Person object retrieved.
> // Trying to get all the applications that this Person has that
> match the criteria provided via searchCriteria.
> p.getAllApplications();
>
> Here I must mention that the Person value-object contains a
> Collection called allApplication to hold all the applications
> belonging to a Person.
> But, when I make this call, I get back ALL applications although I
> had specified Application related search criteria in the query
> used to retrieve
> Person objects.
>
> So, I am getting every application associated with the Person in
> question instead of just getting back just those that satisfy the
> criteria that I have specified, because p.getAllApplications()
> makes a call to the DB and ignores all previous criteria.
>
> What can I do to retrieve just the applications that match the
> criteria when I call getAllApplications().
>
> I have tried using extents, ReportQueries, and also examined
> QueryCustomizers.
>
> Thanks and Regards
>
> RB
>
---------------------------------------------------------------------
To unsubscribe, e-mail: ojb-user-unsubscribe@db.apache.org
For additional commands, e-mail: ojb-user-help@db.apache.org