db-jdo-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Craig L Russell <Craig.Russ...@Sun.COM>
Subject Re: 18.15.8 <order mapped-by="..."/> clarification
Date Sun, 11 Feb 2007 21:11:45 GMT
Hi Andy,

Thanks for your comments. These should be clarified, and I'll do so  
as long as the spec is open for 2.1.

On Feb 10, 2007, at 10:57 AM, Andy Jefferson wrote:

> Section 18.15.8 says
> <spec>
> If the array or list field is mapped using the mapped-by attribute  
> in the
> field metadata, then the ordering can be mapped to a field in the  
> same class.
> In this case, use the mapped-by attribute in the order metadata to  
> name the
> field containing the ordering data.
> </spec>
> This doesn't say whether the List is operated as an "indexed  
> List" (where the
> JDO implementation will insert element index positions into the column
> defined by the mapped-by field in the element table - and that this  
> mapped-by
> field should hence be integer based so it can store these indices), or
> whether it will be an "ordered List" (like JPA, where the elements  
> in the
> List are retrieved using the ordering defined by the mapped-by  
> column) and
> the values defined by the element objects in that field will govern  
> the
> position in the list on retrieval.
> My interpretation has always been the first one, since if the user  
> has taken
> the time to insert elements into their List in an order then when they
> retrieve the List they should be in the same order.

Yes, ordered lists are problematic. There have been several instances  
where the ambiguity of the JPA spec has made people crazy.

The intent of the spec has always been that the index maintenance is  
the responsibility of the jdo implementation. The user has done  
enough by telling the implementation where things are supposed to go.  
The index is available for the implementation to make sure that the  
right order is maintained in the database to correspond to the order  
in memory.
> Also in section 18.15.8 we also have
> <spec>
> The serialized attribute specifies that the key values are to be  
> serialized
> into the named column.
> </spec>
> I think that this should be removed since <order> has no  
> serialized, and its
> just a cut and paste from somewhere.

Good catch.


> -- 
> Andy

Craig Russell
Architect, Sun Java Enterprise System http://java.sun.com/products/jdo
408 276-5638 mailto:Craig.Russell@sun.com
P.S. A good JDO? O, Gasp!

View raw message