Почему я получаю сообщение об ошибке "StreamingQueryResult не может быть приведен..."?

Я получаю эту ошибку в строке ниже

User ret=(User)query.execute(username.toString());

Есть ли query.execute() можно только привести в Список<>?

java.lang.ClassCastException: com.google.appengine.datanucleus.query.StreamingQueryResult cannot be cast to com.lionpaw.User
    at com.lionpaw.UserJDOWrapper.getUserByUsername(UserJDOWrapper.java:33)
    at com.lionpaw.LionPawServlet.doGet(LionPawServlet.java:21)
    at javax.servlet.http.HttpServlet.service(HttpServlet.java:617)
    at javax.servlet.http.HttpServlet.service(HttpServlet.java:717)
    at org.mortbay.jetty.servlet.ServletHolder.handle(ServletHolder.java:511)
    at org.mortbay.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletHandler.java:1166)

1 ответ

Выполнение запроса JDO вернет тип, подходящий для запроса, который был передан. Если это запрос типа кандидата, то List. Вы не упоминаете свой запрос, поэтому дальнейший ответ невозможен. Прочитайте спецификацию JDO и любые приличные документы JDO, такие как http://www.datanucleus.org/products/accessplatform/jdo/jdoql.html

Другие вопросы по тегам