GAE中使用JPA进行条件查询时,估计有bug
select o from User o where name=?
然后
query.setParameter(1, "xx");
报错信息如下
HTTP ERROR 500
Problem accessing /admin/install.action. Reason:
Numbered parameter syntax starting ? but isnt followed by numeric!
Caused by:
Numbered parameter syntax starting ? but isnt followed by numeric!
org.datanucleus.exceptions.NucleusUserException: Numbered parameter syntax starting ? but isnt followed by numeric!
at org.datanucleus.query.compiler.JPQLParser.processIdentifier(JPQLParser.java:1552)
at org.datanucleus.query.compiler.JPQLParser.processPrimary(JPQLParser.java:967)
at org.datanucleus.query.compiler.JPQLParser.processUnaryExpression(JPQLParser.java:908)
at org.datanucleus.query.compiler.JPQLParser.processMultiplicativeExpression(JPQLParser.java:841)
at org.datanucleus.query.compiler.JPQLParser.processAdditiveExpression(JPQLParser.java:812)
at org.datanucleus.query.compiler.JPQLParser.processRelationalExpression(JPQLParser.java:488)
at org.datanucleus.query.compiler.JPQLParser.processAndExpression(JPQLParser.java:465)
at org.datanucleus.query.compiler.JPQLParser.processOrExpression(JPQLParser.java:446)
at org.datanucleus.query.compiler.JPQLParser.processExpression(JPQLParser.java:435)
at org.datanucleus.query.compiler.JPQLParser.parse(JPQLParser.java:66)
at org.datanucleus.query.compiler.JavaQueryCompiler.compileFilter(JavaQueryCompiler.java:294)
at org.datanucleus.query.compiler.JPQLCompiler.compile(JPQLCompiler.java:75)
at org.datanucleus.store.query.AbstractJPQLQuery.compileInternal(AbstractJPQLQuery.java:246)
at org.datanucleus.store.query.Query.setImplicitParameter(Query.java:714)
at org.datanucleus.jpa.JPAQuery.setParameter(JPAQuery.java:449)
at cn.neilone.appspot.dao.impl.DaoSupport.setQueryParams(DaoSupport.java:100)
at cn.neilone.appspot.dao.impl.DaoSupport.getScrollData(DaoSupport.java:87)
at cn.neilone.appspot.dao.impl.DaoSupport.getScrollData(DaoSupport.java:66)
at cn.neilone.appspot.service.AdminService.addUser(AdminService.java:99)
at cn.neilone.appspot.service.AdminService$$FastClassByCGLIB$$38d0a0cf.invoke(<generated>)
at net.sf.cglib.proxy.MethodProxy.invoke(MethodProxy.java:149)
at org.springframework.aop.framework.Cglib2AopProxy$CglibMethodInvocation.invokeJoinpoint(Cglib2AopProxy.java:700)
at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:149)
at org.springframework.transaction.interceptor.TransactionInterceptor.invoke(TransactionInterceptor.java:106)
at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:171)
at org.springframework.aop.framework.Cglib2AopProxy$DynamicAdvisedInterceptor.intercept(Cglib2AopProxy.java:635)
at cn.neilone.appspot.service.AdminService$$EnhancerByCGLIB$$d4a1f6f5.addUser(<generated>)
at cn.neilone.appspot.struts2.TInstallAction.install(TInstallAction.java:42)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
at java.lang.reflect.Method.invoke(Method.java:597)
at com.google.appengine.tools.development.agent.runtime.Runtime.invoke(Runtime.java:100)
at com.opensymphony.xwork2.DefaultActionInvocation.invokeAction(DefaultActionInvocation.java:441)
at com.opensymphony.xwork2.DefaultActionInvocation.invokeActionOnly(DefaultActionInvocation.java:280)
at com.opensymphony.xwork2.DefaultActionInvocation.invoke(DefaultActionInvocation.java:243)
at com.opensymphony.xwork2.interceptor.DefaultWorkflowInterceptor.doIntercept(DefaultWorkflowInterceptor.java:165)
at com.opensymphony.xwork2.interceptor.MethodFilterInterceptor.intercept(MethodFilterInterceptor.java:87)
at com.opensymphony.xwork2.DefaultActionInvocation.invoke(DefaultActionInvocation.java:237)
at com.opensymphony.xwork2.validator.ValidationInterceptor.doIntercept(ValidationInterceptor.java:252)
at org.apache.struts2.interceptor.validation.AnnotationValidationInterceptor.doIntercept(AnnotationValidationInterceptor.java:68)
at com.opensymphony.xwork2.interceptor.MethodFilterInterceptor.intercept(MethodFilterInterceptor.java:87)
at com.opensymphony.xwork2.DefaultActionInvocation.invoke(DefaultActionInvocation.java:237)
at com.opensymphony.xwork2.interceptor.ConversionErrorInterceptor.intercept(ConversionErrorInterceptor.java:122)
at com.opensymphony.xwork2.DefaultActionInvocation.invoke(DefaultActionInvocation.java:237)
at com.opensymphony.xwork2.interceptor.ParametersInterceptor.doIntercept(ParametersInterceptor.java:195)
at com.opensymphony.xwork2.interceptor.MethodFilterInterceptor.intercept(MethodFilterInterceptor.java:87)
at com.opensymphony.xwork2.DefaultActionInvocation.invoke(DefaultActionInvocation.java:237)
at com.opensymphony.xwork2.interceptor.ParametersInterceptor.doIntercept(ParametersInterceptor.java:195)
at com.opensymphony.xwork2.interceptor.MethodFilterInterceptor.intercept(MethodFilterInterceptor.java:87)
at com.opensymphony.xwork2.DefaultActionInvocation.invoke(DefaultActionInvocation.java:237)
at com.opensymphony.xwork2.interceptor.StaticParametersInterceptor.intercept(StaticParametersInterceptor.java:179)
at com.opensymphony.xwork2.DefaultActionInvocation.invoke(DefaultActionInvocation.java:237)
at org.apache.struts2.interceptor.MultiselectInterceptor.intercept(MultiselectInterceptor.java:75)
at com.opensymphony.xwork2.DefaultActionInvocation.invoke(DefaultActionInvocation.java:237)
at org.apache.struts2.interceptor.CheckboxInterceptor.intercept(CheckboxInterceptor.java:94)
at com.opensymphony.xwork2.DefaultActionInvocation.invoke(DefaultActionInvocation.java:237)
at org.apache.struts2.interceptor.FileUploadInterceptor.intercept(FileUploadInterceptor.java:235)
at com.opensymphony.xwork2.DefaultActionInvocation.invoke(DefaultActionInvocation.java:237)
at com.opensymphony.xwork2.interceptor.ModelDrivenInterceptor.intercept(ModelDrivenInterceptor.java:89)
at com.opensymphony.xwork2.DefaultActionInvocation.invoke(DefaultActionInvocation.java:237)
at com.opensymphony.xwork2.interceptor.ScopedModelDrivenInterceptor.intercept(ScopedModelDrivenInterceptor.java:130)
at com.opensymphony.xwork2.DefaultActionInvocation.invoke(DefaultActionInvocation.java:237)
at org.apache.struts2.interceptor.debugging.DebuggingInterceptor.intercept(DebuggingInterceptor.java:267)
at com.opensymphony.xwork2.DefaultActionInvocation.invoke(DefaultActionInvocation.java:237)
at com.opensymphony.xwork2.interceptor.ChainingInterceptor.intercept(ChainingInterceptor.java:126)
at com.opensymphony.xwork2.DefaultActionInvocation.invoke(DefaultActionInvocation.java:237)
at com.opensymphony.xwork2.interceptor.PrepareInterceptor.doIntercept(PrepareInterceptor.java:138)
at com.opensymphony.xwork2.interceptor.MethodFilterInterceptor.intercept(MethodFilterInterceptor.java:87)
at com.opensymphony.xwork2.DefaultActionInvocation.invoke(DefaultActionInvocation.java:237)
at com.opensymphony.xwork2.interceptor.I18nInterceptor.intercept(I18nInterceptor.java:165)
at com.opensymphony.xwork2.DefaultActionInvocation.invoke(DefaultActionInvocation.java:237)
at org.apache.struts2.interceptor.ServletConfigInterceptor.intercept(ServletConfigInterceptor.java:164)
at com.opensymphony.xwork2.DefaultActionInvocation.invoke(DefaultActionInvocation.java:237)
at com.opensymphony.xwork2.interceptor.AliasInterceptor.intercept(AliasInterceptor.java:179)
at com.opensymphony.xwork2.DefaultActionInvocation.invoke(DefaultActionInvocation.java:237)
at com.opensymphony.xwork2.interceptor.ExceptionMappingInterceptor.intercept(ExceptionMappingInterceptor.java:176)
at com.opensymphony.xwork2.DefaultActionInvocation.invoke(DefaultActionInvocation.java:237)
at org.apache.struts2.impl.StrutsActionProxy.execute(StrutsActionProxy.java:52)
at org.apache.struts2.dispatcher.Dispatcher.serviceAction(Dispatcher.java:488)
at org.apache.struts2.dispatcher.ng.ExecuteOperations.executeAction(ExecuteOperations.java:77)
at org.apache.struts2.dispatcher.ng.filter.StrutsPrepareAndExecuteFilter.doFilter(StrutsPrepareAndExecuteFilter.java:91)
at org.mortbay.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletHandler.java:1157)
at com.google.appengine.api.blobstore.dev.ServeBlobFilter.doFilter(ServeBlobFilter.java:58)
at org.mortbay.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletHandler.java:1157)
at com.google.apphosting.utils.servlet.TransactionCleanupFilter.doFilter(TransactionCleanupFilter.java:43)
at org.mortbay.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletHandler.java:1157)
at com.google.appengine.tools.development.StaticFileFilter.doFilter(StaticFileFilter.java:122)
at org.mortbay.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletHandler.java:1157)
at org.mortbay.jetty.servlet.ServletHandler.handle(ServletHandler.java:388)
at org.mortbay.jetty.security.SecurityHandler.handle(SecurityHandler.java:216)
at org.mortbay.jetty.servlet.SessionHandler.handle(SessionHandler.java:182)
at org.mortbay.jetty.handler.ContextHandler.handle(ContextHandler.java:765)
at org.mortbay.jetty.webapp.WebAppContext.handle(WebAppContext.java:418)
at com.google.apphosting.utils.jetty.DevAppEngineWebAppContext.handle(DevAppEngineWebAppContext.java:70)
at org.mortbay.jetty.handler.HandlerWrapper.handle(HandlerWrapper.java:152)
at com.google.appengine.tools.development.JettyContainerService$ApiProxyHandler.handle(JettyContainerService.java:349)
at org.mortbay.jetty.handler.HandlerWrapper.handle(HandlerWrapper.java:152)
at org.mortbay.jetty.Server.handle(Server.java:326)
at org.mortbay.jetty.HttpConnection.handleRequest(HttpConnection.java:542)
at org.mortbay.jetty.HttpConnection$RequestHandler.content(HttpConnection.java:938)
at org.mortbay.jetty.HttpParser.parseNext(HttpParser.java:755)
at org.mortbay.jetty.HttpParser.parseAvailable(HttpParser.java:218)
at org.mortbay.jetty.HttpConnection.handle(HttpConnection.java:404)
at org.mortbay.io.nio.SelectChannelEndPoint.run(SelectChannelEndPoint.java:409)
at org.mortbay.thread.QueuedThreadPool$PoolThread.run(QueuedThreadPool.java:582)
Powered by Jetty://
貌似是不能根据索引传入参数,我试了一下以下方法,可以解决此问题
name=?0 and pwd=?1
分享到:
相关推荐
GAE使用规则GAE使用规则GAE使用规则GAE使用规则GAE使用规则GAE使用规则GAE使用规则GAE使用规则GAE使用规则
实现了spring3+springmvc+jpa2.0+gae之间的集成,项目可直接运行
Eclipse开发 Gae,Struts2,Spring,云计算,学习gae云计算的好例子
pass之GAE入门教程, 学习GAE
GAE平台开发应用时,简单的webapp框架的使用
图自编码器GAE的pytorch实现,参考论文vgae
GoogleAppEngine(GAE)的定时器java源代码。 GoogleAppEngine(GAE)的定时器java源代码。
《GAE编程指南》是介绍使用这个强大平台的专家级实践指南。高级工程师Dan sanderson将向你讲述如何设计高可伸缩性应用程序的方法,以及如何使用App Engine的API和可伸缩的服务来实现常见的开发任务。你将会学到有关...
GAE(Google App Engine)空间 GAE(Google App Engine)空间申请使用教程及 GAE域名捆绑方法使用教程及 GAE域 GAE(Google App Engine)空间申请使用教程及 GAE域名捆绑方法捆绑方法
可以在GAE上直接使用,支持图片上传等。 源代码是修改其他网友的普通blog程序而来,只做了必要的修改,原结构保留 最新版本请去主页下载 http://redpower1998.appspot.com 主页包括原始的普通版本
图形自动编码器GAE的pytorch实现,可参考论文VGAE
云计算下的PaaS中的GAE和SAE平台
GAE--java使用入门.doc
《GAE编程指南》是介绍使用这个强大平台的专家级实践指南。高级工程师Dan sanderson将向你讲述如何设计高可伸缩性应用程序的方法,以及如何使用App Engine的API和可伸缩的服务来实现常见的开发任务。你将会学到有关...
jiql - (允许你的应用在GAE上使用SQL语句) jiql是在JAVA GAE上访问Google Datastore的JDBC wrapper jiql支持标准的sql语言进行访问原版的官方主页 www.jiql.org 由于原版源代码存在一些问题,所以对改版本做了...
实现了gae与spring3之间的集成
百度的bae跟谷歌的gae对比,百度的资源限制很少,但是资源很少,教程很少。。
GAE 集成程序,共有三个软件包,解压后安装包里的python然后运行SDU里的exe文件,最后运行客户端加服务端中localproxy中的proxy.py就可以了
GAE虽然支持java了,但不幸的是依然不支持php 但是我们可以使用基于java的Quercus基本上可以100%的支持PHP语言