2012-06-22 16 views
7

JPA 1.0 ile başladı hiçbir ad vardır ve bu kod büyük çalıştı:sınıf XXX ama benim GAE'nin projede

Query query = em.createQuery("SELECT FROM MyImage " + 
           "WHERE m_Email = :email " + 
           "And m_Password = :password ", MyImage.class); 
    query.setParameter("email", email); 
    query.setParameter("password", password); 

Ama şimdi JPA 2.0 ile çalışan ben alıyorum:

FROM clause of query has class util.MyImage but no alias 
org.datanucleus.store.query.QueryCompilerSyntaxException: FROM clause of query has class util.MyImage but no alias 
at org.datanucleus.query.compiler.JavaQueryCompiler.compileFrom(JavaQueryCompiler.java:233) 
at org.datanucleus.query.compiler.JPQLCompiler.compile(JPQLCompiler.java:79) 
at org.datanucleus.store.query.AbstractJPQLQuery.compileInternal(AbstractJPQLQuery.java:269) 
at org.datanucleus.store.query.Query.setImplicitParameter(Query.java:825) 
at org.datanucleus.api.jpa.JPAQuery.setParameter(JPAQuery.java:458) 
at org.datanucleus.api.jpa.JPAQuery.setParameter(JPAQuery.java:57) 
at dataBase.DataBase.getMyImageFromDB(DataBase.java:173) 

CriteriaQuery ile çalışmayı başardım ama kod okunamıyor ve biraz dağınık.

Bu istisnayı nasıl düzeltebiliriz?

cevap

12

seni böyle bir sınıfınız için bir takma ad tanımlamak gerekir düşünüyorum: o kadar

Query query = em.createQuery("SELECT i FROM MyImage i " + 
          "WHERE i.m_Email = :email " + 
          "And i.m_Password = :password ", MyImage.class); 
+0

Basit ... bu utanç verici :) bu. Teşekkürler – Rami

İlgili konular