Hi!

I've the following Entity:

====
@PersistenceCapable(identityType = IdentityType.APPLICATION)
public class Document implements Serializable {

        @PrimaryKey
        @Persistent(valueStrategy = IdGeneratorStrategy.IDENTITY)
        @Extension(vendorName = "datanucleus", key = "gae.encoded-pk", value
= "true")
        private String encodedKey;

        @Persistent
        @Extension(vendorName = "datanucleus", key = "gae.pk-name", value =
"true")
        private String id;

[...]

}
====

I would like to create a query filtered by "id", but it doesn't work.
How can I make this work? Thanks for your help!

My try was the following:

====
Query query = pm.newQuery(Document.class);
query.setFilter("id == param");
query.declareParameters("String param");

try {
        List<Document> results = (List<Document>) query.execute(id);
        if (results.iterator().hasNext()) {
                for (Document d : results) {
                        // do something with the Document.
                        // throw new RuntimeException(d.getTitle());
                }
        } else {
                // ... no results ...
        }
} catch (Exception ex) {
        ex.printStackTrace();
} finally {
        query.closeAll();
}
====

I know I've could get the object by Key, but there's a hierarchy in
Documents, so I can't create the key by hand.

Thanks!
--~--~---------~--~----~------------~-------~--~----~
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
-~----------~----~----~----~------~----~------~--~---

Reply via email to