Open GoogleCodeExporter opened 9 years ago
Original comment by l.bragag...@gmail.com
on 1 Oct 2007 at 10:10
Completati solo i test di base di GenericDao e FinderExecutor, mancano test del
mapping completo dei dati hsqldb.
Alcuni test sono disabilitati in alcune implementazioni tramite @IfProfileValue
e
system properties impostate nel pom.
Original comment by l.bragag...@gmail.com
on 20 Oct 2007 at 11:06
Ho aggiunto le classi di modello di test mancanti. I test passano ancora tutti,
ma
incredibilmente anche per un caso di esempio così semplice, effettuare il
mapping su
6 ORM differenti pone sfide interessanti.
Un primo problema riguarda la relazione esistente tra Invoice -> Item: la
tabella
ITEM infatti ha una chiave primaria composta da INVOICEID,ITEM. Il primo campo
deve
essere anche mappato come riferimento many-to-one a Invoice. Il secondo è
teoricamente trasparente visto che rappresenta solo la posizione di Item in
Invoice.items. La gestione delle chiavi composite sembra piuttosto differente
da ORM
a ORM, in particolare JDO ha dei requisiti piuttosto stringenti al riguardo.
Per ora è implementato con una classe Item.ItemId con una property di tipo
Invoice.InvoiceId (che wrappa un Integer, ma JDO lo richiede espressamente) e
una
property itemNumber. Queste property sono poi "specchiate" nella classe Item
(pure
questo è un requisito JDO) con la differenza che la property invoice in
realtà è di
tipo Invoice. Con JPA questo modello non sembra funzionare però :-( Hibernate
non si
lamenta troppo, ma francamente temo che non funzionerà (ho usato un
composite-id)...
Per JPA ho momentaneamente tolto il mapping relativo per far passare comunque i
test.
Ho aggiunto i mapping essenziali anche a iBatis, che pure dà qualche noia: mi
ha
costretto a impostare il tipo Customer.invoices a Collection anziché a Set e
inoltre
non supporta le associazioni bidirezionali per cui ho dovuto togliere il
mapping di
Invoice.customer che generava un bel loop che terminava in OutOfMemory :-(
Original comment by davide.r...@gmail.com
on 25 Oct 2007 at 9:37
Original issue reported on code.google.com by
l.bragag...@gmail.com
on 18 Sep 2007 at 10:45