JDO igen , persistere objekt med reference til et andet
Nå der var ikke mange forslag i det sidste JDO spm, men jeg prøver igen med et nyt ;)Jeg prøver at persistere en BusinessPartner med application identity der har en reference til et Adresse Objekt
jeg har lavet begge klasser persistent capable
min metadata.jdo ser sådan ud:
<?xml version="1.0" encoding="UTF-8" ?>
<!DOCTYPE jdo SYSTEM "file:jdo.dtd">
<jdo>
<package name="jdo1">
<class name="Address" />
<class name="BusinessPartner" identity-type="application" objectid-class="BusinessPartnerPK" >
<field name="partnerNumber" primary-key="true" />
<field name="address" embedded="true" />
</class>
</package>
</jdo>
jeg persisterer på denne måde
t = pm.currentTransaction();
t.begin();
bp = new BusinessPartner();
bp.setPartnerNumber(args[0]);
bp.setName(args[1]);
Address a = new Adress(args[2]);
bp.setAddress(a);
System.out.println("Persisting: "+bp);
pm.makePersistent(bp);
t.commit();
jeg henter objekterene ud igen med
t.begin();
Extent extPartner = pm.getExtent(BusinessPartner.class,false);
Iterator i = extPartner.iterator();
System.out.println("Listing partners:");
while (i.hasNext()){
System.out.println(i.next());
}
System.out.println("Done. ");
extPartner.close(i);
t.commit();
System.out.println("Persisting: "+bp);
viser bp som jeg har lavet den
System.out.println("Listing partners:");
viser: null for adress.
i databasen er der kommet dette:
address name partnerNumber
[BLOB - 76 Bytes] simon 1
jeg har læst mig til dette i
C:\LiDO\doc\documents\html\default.htm <- fra:Let suppose we have the 2 following classes:
(har prøvet at implementere Serializable i Address klassen)
og i http://www.ogilviepartners.com/JdoBook.html
Hvad gør jeg forkert .. eller hvad skal jeg gøre for at få data ud igen om adressen.
