Hi Ralf,

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 in
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:


http://db.apache.org/ojb/howto-use-anonymous-keys.html

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?

=== message truncated ===

__________________________________________________________________

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]



Reply via email to