I cant wrap my head around this but i'm having an issue with doing a
basic query.

I have a user class that contains an embeddable class ContactInfo.
ContactInfo has email, phone, and address String fields.

@PersistenceCapable(identityType=IdentityType.APPLICATION)
public class MyUser {
        @Persistent
        private ContactInfo contactInfo;

@PersistenceCapable
@EmbeddedOnly
public class ContactInfo {

When i wrote a simple authenticate query...

                Query query = pm.newQuery(MyUser.class);
                query.setFilter("email == emailParam");
                query.setFilter("password == passwordParam");
                query.declareParameters("String emailParam,String 
passwordParam");

                try {
                        List<MyUser> results = (List<MyUser>) query.execute
(email,password);


I can successfully get back results with no errors.

I have another class called Account that i want to link a user to.

@PersistenceCapable(identityType=IdentityType.APPLICATION)
public class Account {
        @Persistent
        private Key accountManager;


In adding an account i need to first get the user from a form via a
query

                Query query = pm.newQuery(MyUser.class);
                query.setFilter("email == emailParam");
                query.declareParameters("String emailParam");
                try {
                        List<MyUser> results = (List<MyUser>) 
query.execute(email);

Notice this looks exactly the same as the other query just without the
password. In this call i get this error.
org.datanucleus.store.appengine.query.DatastoreQuery
$UnsupportedDatastoreFeatureException: Problem with query <SELECT FROM
net.project.model.MyUser WHERE email == emailParam PARAMETERS String
emailParam>: Unexpected expression type while parsing query:
org.datanucleus.query.expression.VariableExpression

If i change the filter to
                query.setFilter("name == emailParam");
this works fine.

I suspect that since name is an object in MyUser while email is an
object in ContactInfo that is embedded in MyUser, this is failing. But
then how come the Authentication query worked?
Any help would be appreciated...


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