java - Objectify sequence query -


i try have such code:

    query<card> query = ofy().load().type(card.class);      userdata creator = ofy().load().type(userdata.class).id(creatorid).now();     if (creator != null && usertype.user.equals(creator.getusertype())) {         query.filter("creator", creator);     }     if (ordercolumnname != null) {         query.order((ascending ? "" : "-") + ordercolumnname);     }     query.offset(startrow).limit(limit);     return query.list(); 

but doesn't filter. filter:

    userdata creator = ofy().load().type(userdata.class).id(creatorid).now();     query<card> query = ofy().load().type(card.class).filter("creator", creator); 

any idea why?

edited

my class card.java

@entity public class card implements persistableobject {      @id     long id;      @index     date createdate;      ...      @index     ref<userdata> creator;      ...      public userdata getcreator() {         if (creator != null) {             return creator.get();         }         return null;     }      public void setcreator(userdata creator) {         this.creator = ref.create(creator);     } } 

my class userdata.java

@entity public class userdata implements persistableobject {      @id     long id;      ref<eaistoaccount> eaistoaccount;      usertype usertype;      public eaistoaccount geteaistoaccount() {         if (eaistoaccount == null) {             return null;         }         return eaistoaccount.get();     }      public void seteaistoaccount(eaistoaccount aistoaccount) {         this.eaistoaccount = ref.create(aistoaccount);     } } 

it doesn't work means expect filtered entities corresponding userdata doesn't filter when split query in few parts filters when use query in 1 line.

i have found solution:

why aren't queries working properly? of objectify's intermediate command objects immutable. not work:

query q = ofy().load().type(foo.class); q.filter("bar", bar); list foos = q.list(); filter command did nothing because did not reassign q. need this:

q = q.filter("bar", bar); alternatively, chain whole sequence in single statement. read more here.

https://code.google.com/p/objectify-appengine/wiki/frequentlyaskedquestions


Comments

Popular posts from this blog

c# - Validate object ID from GET to POST -

node.js - Custom Model Validator SailsJS -

php - Find a regex to take part of Email -