postgresql "WITH RECURSIVE" query

59 views
Skip to first unread message

ooknight

unread,
Mar 17, 2019, 2:02:44 PM3/17/19
to Ebean ORM
<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
<ebean xmlns="http://ebean-orm.github.io/xml/ns/ebean">
<entity class="org.demo.platform.entity.District">
<raw-sql name="recursive-down">
<column-mapping column="d.id" property="id"/>
<column-mapping column="d.title" property="title"/>
<column-mapping column="d.parent_id_" property="parent.id"/>
<query>
WITH RECURSIVE recursive_down(id, title, parent_id) AS
(
SELECT d1.id,d1.title,d1.parent_id
FROM district d1
WHERE d1.parent_id = 1
UNION
SELECT d2.id,d2.title,d2.parent_id
FROM district d2
JOIN recursive_down x ON x.id = d2.parent_id
)
SELECT d.id,d.title,d.parent_id
FROM recursive_down AS d;
</query>
</raw-sql>
</entity>
</ebean>

When I execute this statement, I get an error.

01:57:29.196 [main] ERROR io.ebeaninternal.server.deploy.BeanDescriptorManager - Error in deployment
java.lang.RuntimeException: Expecting [ ... ] to start with "select"
    at io.ebeaninternal.server.rawsql.DRawSqlParser.trimSelectKeyword(DRawSqlParser.java:114)
    at io.ebeaninternal.server.rawsql.DRawSqlParser.parse(DRawSqlParser.java:69)
    at io.ebeaninternal.server.rawsql.DRawSqlParser.parse(DRawSqlParser.java:45)
    at io.ebeaninternal.server.rawsql.DRawSqlService.parsed(DRawSqlService.java:23)
    at io.ebean.RawSqlBuilder.parse(RawSqlBuilder.java:58)
    at io.ebeaninternal.server.deploy.BeanDescriptorManager.readEntityMapping(BeanDescriptorManager.java:436)
    at io.ebeaninternal.server.deploy.BeanDescriptorManager.readXmlMapping(BeanDescriptorManager.java:413)
    at io.ebeaninternal.server.deploy.BeanDescriptorManager.deploy(BeanDescriptorManager.java:372)
    at io.ebeaninternal.server.core.InternalConfiguration.<init>(InternalConfiguration.java:197)
    at io.ebeaninternal.server.core.DefaultContainer.createServer(DefaultContainer.java:124)
    at io.ebeaninternal.server.core.DefaultContainer.createServer(DefaultContainer.java:69)
    at io.ebeaninternal.server.core.DefaultContainer.createServer(DefaultContainer.java:35)
    at io.ebean.EbeanServerFactory.create(EbeanServerFactory.java:58)
    at io.ebean.Ebean$ServerManager.getWithCreate(Ebean.java:126)
    at io.ebean.Ebean$ServerManager.<init>(Ebean.java:75)
    at io.ebean.Ebean$ServerManager.<init>(Ebean.java:48)
    at io.ebean.Ebean.<clinit>(Ebean.java:43)

Rob Bygrave

unread,
Mar 21, 2019, 5:31:01 AM3/21/19
to ebean@googlegroups

--

---
You received this message because you are subscribed to the Google Groups "Ebean ORM" group.
To unsubscribe from this group and stop receiving emails from it, send an email to ebean+un...@googlegroups.com.
For more options, visit https://groups.google.com/d/optout.
Reply all
Reply to author
Forward
0 new messages