[prev in list] [next in list] [prev in thread] [next in thread]
List: ojb-user
Subject: Re: Mapping Classes on Multiple Joined Tables
From: Jakob Braeuchi <jbraeuchi () gmx ! ch>
Date: 2004-05-06 20:25:52
Message-ID: 409A9F50.2030100 () gmx ! ch
[Download RAW message or body]
hi charles,
this should do it:
Query q = QueryFactory.newQuery(A.class, c);
broker.getCollectionByQuery(q);
fyi there's a testcase dealing with multi-joined-tables
InheritanceMultipleTableTest. this testcase requires the latest from repository
to pass completely.
hth
jakob
Charles N. Harvey III wrote:
> Hello.
> The other day I embarked on a little journey by mapping classes on
> multiple joined tables. It went really well. I am very excited to
> see it working and to see it working so well.
>
> One question though, and I can use the example on the site to demonstrate.
>
> <!-- Definitions for org.apache.ojb.broker.A -->
> <class-descriptor
> class="org.apache.ojb.broker.A"
> table="A_TABLE">
> <field-descriptor
> name="id"
> column="ID"
> jdbc-type="INTEGER"
> primarykey="true"
> autoincrement="true"/>
> <field-descriptor
> name="someValueFromA"
> column="VALUE_"
> jdbc-type="INTEGER"/>
> </class-descriptor>
>
> <class-descriptor
> class="org.apache.ojb.broker.B"
> table="B_TABLE">
> <field-descriptor
> name="id"
> column="ID"
> jdbc-type="INTEGER"
> primarykey="true"
> autoincrement="true"/>
> <field-descriptor
> name="someValueFromB"
> column="VALUE_"
> jdbc-type="INTEGER"/>
> <reference-descriptor
> name="super"
> class-ref="org.apache.ojb.broker.A"
> auto-retrieve="true"
> auto-update="true"
> auto-delete="true">
> <foreignkey
> field-ref="id"/>
> </reference-descriptor>
> </class-descriptor>
>
>
> Ok. So, I can now do this:
>
> Criteria c = new Criteria();
> c.addEqualTo("someValueFromA", new Integer(1));
> c.addEqualTo("someValueFromB", new Integer(2));
> Query q = QueryFactory.newQuery(B.class, c);
> broker.getCollectionByQuery(q);
>
> Which is really cool. But, how can I select ONLY CLASSES FROM A? Every
> time
> I insert a B it inserts into A. And that's how it is supposed to work.
> But
> I also insert plain 'ol As into A. So how can I select a collection of
> ONLY A?
>
> Is this possible? I think it is but I have to do a sub query like,
> SELECT * FROM A WHERE NOT IN (SELECT ID FROM B) Am I correct? And, how
> do I
> do that in OJB?
>
> Thanks a lot for the help.
>
>
> Charlie
>
>
>
> ---------------------------------------------------------------------
> To unsubscribe, e-mail: ojb-user-unsubscribe@db.apache.org
> For additional commands, e-mail: ojb-user-help@db.apache.org
>
>
---------------------------------------------------------------------
To unsubscribe, e-mail: ojb-user-unsubscribe@db.apache.org
For additional commands, e-mail: ojb-user-help@db.apache.org
[prev in list] [next in list] [prev in thread] [next in thread]
Configure |
About |
News |
Add a list |
Sponsored by KoreLogic