I think I may have found the answer. Even though an encoded key is a string, I should use KeyFactory.stringToKey(encodedKeyString) to compare two key strings.
On Tue, Sep 1, 2009 at 7:18 PM, Cornel <corneliu.lupu...@gmail.com> wrote: > Hello! > > I ran over this problem. I was retrieving a "DbContact" data set > simply ordered by > encodedKey ascending, and i got this list: > > [(key agljb3NpbnV4NjhyIQsSCkRiQ3VzdG9tZXIYm0gMCxIJRGJDb250YWN0GJxIDA > name EUROTRIM) > , (key agljb3NpbnV4NjhyIQsSCkRiQ3VzdG9tZXIYnUgMCxIJRGJDb250YWN0GJ5IDA > name ANCA ELECTRIC SYSTEMS) > , (key agljb3NpbnV4NjhyIQsSCkRiQ3VzdG9tZXIYn0gMCxIJRGJDb250YWN0GKBIDA > name TWIN TRADING) > ............... > > So, apparently > "agljb3NpbnV4NjhyIQsSCkRiQ3VzdG9tZXIYnUgMCxIJRGJDb250YWN0GJ5IDA" < > "agljb3NpbnV4NjhyIQsSCkRiQ3VzdG9tZXIYn0gMCxIJRGJDb250YWN0GKBIDA" (the > second and the third entries in the above list) > > But > "agljb3NpbnV4NjhyIQsSCkRiQ3VzdG9tZXIYnUgMCxIJRGJDb250YWN0GJ5IDA".compareTo > ("agljb3NpbnV4NjhyIQsSCkRiQ3VzdG9tZXIYn0gMCxIJRGJDb250YWN0GKBIDA") = > 37 > 0, which is opposite! > > The encodedKey field is defined in the DbContact class as: > > @PersistenceCapable(identityType = IdentityType.APPLICATION) > public class DbContact extends DbEntity { > > @PrimaryKey > @Persistent(valueStrategy = IdGeneratorStrategy.IDENTITY) > @Extension(vendorName="datanucleus", key="gae.encoded-pk", > value="true") > private String encodedKey; > > @Persistent > private DbCustomer customer; > ....... > > Also, i have a DbCustomer class which is the parent of a DbContact > class, defined as: > > @PersistenceCapable(identityType = IdentityType.APPLICATION) > public class DbCustomer extends DbEntity { > > @PrimaryKey > @Persistent(valueStrategy = IdGeneratorStrategy.IDENTITY) > @Extension(vendorName="datanucleus", key="gae.encoded- > pk",value="true") > private String encodedKey; > > @Persistent(mappedBy = "customer") > @Order(extensions = @Extension(vendorName="datanucleus", > key="list-ordering", value="customerProfile desc")) > private List<DbContact> contacts; > .......... > > So what's with this inconsistence? Have any ideas? -- Corneliu Paul Lupulet --~--~---------~--~----~------------~-------~--~----~ You received this message because you are subscribed to the Google Groups "Google App Engine for Java" group. To post to this group, send email to google-appengine-java@googlegroups.com To unsubscribe from this group, send email to google-appengine-java+unsubscr...@googlegroups.com For more options, visit this group at http://groups.google.com/group/google-appengine-java?hl=en -~----------~----~----~----~------~----~------~--~---