I changed all List<Double> properties in my persistent class to
double[] arrays and
made these properties unindexed, because I never need to query on
these.
To make attributes unindexed I used the following annotation:

@Extension(vendorName="datanucleus", key="gae.unindexed",
value="true")//unindexed property
private double[] listProperty;

That fixed the problem and furthermore made the access faster...

Marcus




On 14 Dez., 20:03, "Ikai Lan (Google)" <[email protected]>
wrote:
> It's not an issue with the data type, it's an issue with queries that look
> into multiple list properties:
>
> http://code.google.com/appengine/docs/java/datastore/queriesandindexe...
>
> What you have is an example of an exploding index. Rather than filtering in
> query, is there any way you can filter for a subset of results using
> datastore operations, then filter in memory?
>
> --
> Ikai Lan
> Developer Programs Engineer, Google App Engine
> Blogger:http://googleappengine.blogspot.com
> Reddit:http://www.reddit.com/r/appengine
> Twitter:http://twitter.com/app_engine
>
> On Tue, Dec 14, 2010 at 3:35 AM, androidDeveloper <[email protected]
>
> > wrote:
> > I got an "IllegalArgumentException: Too many indexed properties for
> > entity" Exception when saving an entity that looks like this:
> >        ...
> >       �...@persistent
> >       �...@element(dependent = "true")
> >       �...@order(extensions = @Extension(vendorName="datanucleus", 
> > key="list-
> > ordering", value="aDate asc"))
> >        private List<ClassA> classAList;  //ClassA only contains basic
> > properties like String and double
>
> >       �...@persistent
> >        private double[] list1;
> >       �...@persistent
> >        private double[] list2;
> >       �...@persistent
> >        private double[] list3;
>
> > When I save an object, that has no more than 10 objects in classAList
> > and 3600 elements in each of the double[] Arrays list1-3 the error
> > above occurs in datastore.
> > I know that there exists a cap for indexed properties per entity of
> > max 5000. But I though this would only affect list porperties?
> > My question is, why are double arrays indexed? I thougt only List
> > Properties would be indexed?
> > Is double[] handled like List<Double> in app engines datastore?
>
> > --
> > 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
> > [email protected].
> > To unsubscribe from this group, send email to
> > [email protected]<google-appengine-java%[email protected]>
> > .
> > For more options, visit this group at
> >http://groups.google.com/group/google-appengine-java?hl=en.
>
>

-- 
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 [email protected].
To unsubscribe from this group, send email to 
[email protected].
For more options, visit this group at 
http://groups.google.com/group/google-appengine-java?hl=en.

Reply via email to