Передача аргументов в функцию StringTemplate - PullRequest
0 голосов
/ 07 ноября 2018

Допустим, у меня есть

@SqlQuery("SELECT :someField FROM myTable")
String fetchField(@Bind("someField") final String columnName);

Я хочу переместить это в файл stg, используя UseStringTemplate3StatementLocator, а затем использовать групповые файлы и шаблоны. Мне нужно передать этот аргумент другой функции, т.е.

@SqlQuery
String fetchField(@Bind("someField") final String columnName);

// in the stg file
fetchField() ::= <<
<someOtherMethod(:someField)> <! I need to pass someField to this other function ->
>>

someOtherMethod(columnName) ::= <<
 ... All the query is generated here
>>

Это не работает. Как мне это сделать?

1 Ответ

0 голосов
/ 31 января 2019

Вам потребуется использовать аннотацию @Define для предоставления атрибутов StringTemplate4 , а затем использовать ее как <someField>. Но, таким образом, написанный запрос будет открыт для SQL-инъекции

...