hi agaian,

> [...]
> 

> 
> As I said, I have to move away from the JDO-managed situation 
> (until there
> is a sufficiently high-quality open-source JDO 
> implementation). I'll have to
> go to the ODMG-managed situation. Only I don't like that I 
> have to change my
> code in several places now to explicitly use DList instead of 
> java.util.List
> and it's standard implementations.
> I want to keep my code independant of the actual persistence 
> mechanism used,
> so that in future I can switch back to a JDO managed solution.

I see.
There are two aspects to this:
1. loading a collection from the DB. you can use the collection-descriptor
to specify the collection class OJB uses.
Specifying DListImpl here would be fine with a java.util.List java field.

2. storing a collection to the DB. a "normal" Vector is handled completely
different than a DList!
that's why you have to initialize the java.util.List attribute with a
DListImpl instance to make things work.
The most elegant way would be to have a simple factory method that is used
to create Jav.util.List instances. In ODMG mode id serves DListImpls, in JDO
mode a Vector or so.
This would minimize the impact on your business model!

> 
> It would be nice if there was a List implementation that is not
> ODMG-specific but provides the same functionality, so that it 
> can be used
> transparently (to the largest degree possible) without 
> modifications to the
> domain objects. 

SUre such a best could be written, but you still had to solve issues 1. and
2. from above. SO you don't gain a lot...

> I guess that for a JDO implementation in OJB 2.0 such
> proxy-objects for Set, List and Map will have to be created.

I think so !

> But since I don't have time now to do this myself, I'll have 
> to change what
> needs to be changed!
> 
> Thanks for the advice and explanations - Thomas, you're a 
> great help to
> everyone on the list. A big thanks.

thanks !

cheers,
Thomas

> --Tim
> 
> ---------------------------------------------------------------------
> 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