【发布时间】:2017-11-04 05:11:37
【问题描述】:
我需要执行公用表表达式 (CTE) 查询,但不知道如何在 activejdbc 中执行此操作。 DB是postgres 9.5
在做:
Model.findbySQL("with cte as (...) select * from cte"
给我错误:
java.lang.IllegalArgumentException: 查询必须是“选择”查询 在 org.javalite.activejdbc.DB.find(DB.java:463) 在 org.javalite.activejdbc.LazyList.hydra(LazyList.java:329) 在 org.javalite.activejdbc.LazyList.toJson(LazyList.java:245) 在 com.torfiles.webservice.Endpoints.lambda$search$5(Endpoints.java:91) 在 spark.RouteImpl$1.handle(RouteImpl.java:61) 在 spark.http.matching.Routes.execute(Routes.java:61) 在 spark.http.matching.MatcherFilter.doFilter(MatcherFilter.java:126) 在 spark.embeddedserver.jetty.JettyHandler.doHandle(JettyHandler.java:50) 在 org.eclipse.jetty.server.session.SessionHandler.doScope(SessionHandler.java:189) 在 org.eclipse.jetty.server.handler.ScopedHandler.handle(ScopedHandler.java:141) 在 org.eclipse.jetty.server.handler.HandlerWrapper.handle(HandlerWrapper.java:119) 在 org.eclipse.jetty.server.Server.handle(Server.java:517) 在 org.eclipse.jetty.server.HttpChannel.handle(HttpChannel.java:308) 在 org.eclipse.jetty.server.HttpConnection.onFillable(HttpConnection.java:242) 在 org.eclipse.jetty.io.AbstractConnection$ReadCallback.succeeded(AbstractConnection.java:261) 在 org.eclipse.jetty.io.FillInterest.fillable(FillInterest.java:95) 在 org.eclipse.jetty.io.SelectChannelEndPoint$2.run(SelectChannelEndPoint.java:75) 在 org.eclipse.jetty.util.thread.strategy.ExecuteProduceConsume.produceAndRun(ExecuteProduceConsume.java:213) 在 org.eclipse.jetty.util.thread.strategy.ExecuteProduceConsume.run(ExecuteProduceConsume.java:147) 在 org.eclipse.jetty.util.thread.QueuedThreadPool.runJob(QueuedThreadPool.java:654) 在 org.eclipse.jetty.util.thread.QueuedThreadPool$3.run(QueuedThreadPool.java:572) 在 java.lang.Thread.run(Thread.java:748)
【问题讨论】:
-
你能包含整个堆栈跟踪吗?此外,添加您使用的数据库。
-
刚刚添加了完整的activejdbc跟踪,它的postgres 9.5
-
请提供完整的堆栈跟踪,包括底层异常
-
好的,这是我的完整堆栈跟踪。
-
能否包含ActiveJdbc的版本?
标签: postgresql activejdbc