<?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)