Ralf Bode wrote:
Hi Armin, Brain and the rest :-)
hier is my code (a simple test-example) CAR:
ok, from my knowledge you should do
package de.ralle;
import java.io.Serializable;
//the CAR public class Auto implements Serializable{
private Integer id; private String farbe;
public Auto() { }
public String getFarbe() { return farbe; }
public void setFarbe(String string) { farbe = string; }
}
CUSTOMER: package de.ralle;
import java.io.Serializable;
//my customer! public class Kunde implements Serializable{
private Integer id; private String vorname;
private String nachname;
private Auto auto;
public Kunde(){ }
public Auto getAuto() { return auto; }
public String getNachname() { return nachname; }
public String getVorname() { return vorname; }
public void setAuto(Auto auto) { this.auto = auto; }
public void setNachname(String string) { nachname = string; }
public void setVorname(String string) { vorname = string; }
}
and XML:
<class-descriptor class="de.ralle.Kunde" table="Kunde" >
<field-descriptor id="1" name="id" column="id" jdbc-type="INTEGER" primarykey="true"
remove line access="anonymous"
/>
<field-descriptor
id="2"
name="vorname"
column="vorname"
jdbc-type="VARCHAR"/>
<field-descriptor
id="3"
name="nachname"
column="nachname"
jdbc-type="VARCHAR"/>
<field-descriptor
id="4" name="autoId" column="autoid" jdbc-type="INTEGER"
access="anonymous"/>
<reference-descriptor name="auto" class-ref="de.ralle.Auto"
auto-retrieve="true"
auto-update="true"
auto-delete="true">
<foreignkey field-ref="autoId"/>
</reference-descriptor>
</class-descriptor>
<class-descriptor class="de.ralle.Auto" table="auto">
<field-descriptor id="1" name="id" column="id" jdbc-type="INTEGER" primarykey="true"
remove line access="anonymous"
/>
<field-descriptor id="2" name="farbe" column="farbe" jdbc-type="VARCHAR" />
</class-descriptor>
Then try
Kunde k = new Kunde(); .. Auto a = new Auto(); ... k.setAuto(a); ... broker.beginTransaction(); broker.store(k); broker.commitTransaction(); ....
regards, Armin
THANKS!
--- Armin Waibel <[EMAIL PROTECTED]> schrieb: > Hi Ralf,
it does deal with anonymous fields, but only inhttp://db.apache.org/ojb/howto-use-anonymous-keys.html
conjunction with 1:1 references. Please post class-descriptor and source
for Customer, Car.
regards, Armin
Ralf Bode wrote:
Hi Armin.
okay i didnīt know about 1.0rc5 isnīt dealing with anonymous-keys.
so i do like suggested in 1:1-mapping.
but then in my Beans i have int carId Car car;
i do now: setCar(Car c){ car = c; carId = c.getId(); }
but i think this is redundant, isnīt ? now i am very confused on dealing with OJB...
a short, and last question, why doesnīt OJB1.0.rc5 not deal with
anonymous-keys
i thought its a nice feature!
greetings ralf
--- Armin Waibel <[EMAIL PROTECTED]> schrieb: >
Hi,
Ralf Bode wrote:
Hi Armin, thanks for your patience, first! but the things with declaring PK_Fields i read at:
=== message truncated ===i did everything like told me :-) the document is written nice and understandful,
doh! Assume the current implementation doesn't
achieve this. All anonymous keys are held in an internal map using
the
object itself as key. Reading will be successful, but when the
object
e.g. will be serialized and then returned to OJB the anonymous
PK
field will never be found (object does not match a key), its only
possible to extract the FK
from the associated reference object.
Thus I think anonymous keys will only work in
conjunction with 1:1 references.
I don't write the 'anonymous-key' stuff, so maybe
I
overlooked an important argument.
regards, Armin
but only the little thing froeign-key is null in my case...
did you know if this sample is available? i didnīt found it in src-distribution.
thanks alot!
--- Armin Waibel <[EMAIL PROTECTED]> schrieb: >
Hi
Ralf,
but in my case the own idīs of a class where anonymous too, is that the matter?
AFAIK we don't have a test case that mix this
stuff.
Think it is not allowed to declare a PK field anonymous. Recommend you to setup a test case similar to
the
examples in test suite or docu
(http://db.apache.org/ojb/tutorial3.html#Mapping
1:1
associations). As recently as your test pass
start
to tweak ;-)
regards, Armin
Ralf Bode wrote:
Hi Armin, again... ...sorry...
i looked in samples you told me! (thanks for tipps!) but i have all so like 1:1-relationship org.apache.ojb.broker.ObjectRepository$Group
org.apache.ojb.broker.ObjectRepository$Componente
(access="anonymous" for reffered ids) but in my case the own idīs of a class where anonymous too, is that the matter? but i donīt think so, because for car and customer a id is "generated".
But only!!! the reffered id (in customer for car is "null")
...strangely... isnīt it ?
perhaps i can send it to list / to you? (i asked, because i will not blow up list with my (i think) foolishness)
thanks for your patience! ralf --- Armin Waibel <[EMAIL PROTECTED]> schrieb: >
Hi
Ralf,
Ralf Bode wrote:
hi ... again :-(
it is really frustratingly... i turned OTM->true made: customer.setCar(car) broker.store(customer);
I don't know what's wrong with your test, but
this
will definitely work with the PB-api.
You can find many examples in test suite, e.g.
...broker.AnonymousFieldsTest.
regards, Armin
but same... customer is in DB, car not! :-(
i have read in aritcle in german-javamag on OJB there was said "all is nice"
or am i to stuid?
__________________________________________________________________
Gesendet von Yahoo! Mail - http://mail.yahoo.de Mit Yahoo! Suche finden Sie alles: http://suche.yahoo.de
--------------------------------------------------------------------- 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]