Spring Integration - Внешние запросы JDBC

Есть ли простой способ вывести большие SQL-запросы из исходящих шлюзов jdbc, вместо того, чтобы встроить его? Причина в том, что нам нужно выполнить много больших запросов, и мы хотели бы, чтобы они были в своих собственных файлах или, по крайней мере, выводили их в виде bean-компонентов.

Некоторые предостережения:

У меня нет контроля над базой данных, поэтому я не могу ничего там создавать (например, хранимые процедуры)Я не хочу создавать классы только для этого, я просто хочу немного организовать / реорганизовать его, а не усложнять, вводя множество других шаговЯ бы предпочел создавать голые файлы .sql, но также хорошо помещать запросы в XML с бином.У меня нет возможности использовать Hibernate, застрял в Spring JDBC интеграции

Предложения о том, как лучше организовать это, учитывая, что у нас будет много других исходящих шлюзов, приветствуются :)

Например, я не хотел бы иметь встроенный SQL в элементе «int-jdbc: outbound-gateway» следующим образом:

<int-jdbc:outbound-gateway
         data-source="datasource"
         request-channel="reqChannel"
         reply-channel="respChannel"
         row-mapper="datamapper" max-rows-per-poll="1000"
         query=" SELECT Field1, Field2, ManyOthers
                 FROM Table T
                 JOIN A ON A.id = T.id [... many other joins here ...]
                 WHERE SOMECONDITION=:payload">
</int-jdbc:outbound-gateway>


Что я сделал, используя ответы

Просто:

<bean id="myCoolQuery" class="java.lang.String">
    <constructor-arg>
      <value>
        <![CDATA[
                 SELECT Field1, Field2, ManyOthers
                 FROM Table T
                 JOIN A ON A.id = T.id [... many other joins here ...]
                 WHERE SOMECONDITION=:payload
        ]]>
      </value>
    </constructor-arg>
</bean> 

<int-jdbc:outbound-gateway
         data-source="datasource"
         request-channel="reqChannel"
         reply-channel="respChannel"
         row-mapper="datamapper" max-rows-per-poll="1000"
         query="#{myCoolQuery}">
</int-jdbc:outbound-gateway>

Он также работает с параметром ": payload", используемым внутри компонента.

Ответы на вопрос(2)

Ваш ответ на вопрос