| Using current approach it is extremely hard, as QueryRendererProcessor simply ignores unsupported tokens, such as functions, e.g. upper(a.name) like :name is translated into SQL a.name_col LIKE ? leading to incorrect result. Another problem is that PredicateFactory used in SingleEntityQueryBuiler by design handles only simple expressions of type "path-operator-value", making support of nested functions almost impossible. My idea is to take a query tree produced by HQL query parser, and build SQL directly based on that tree, wihout use of built-in renderer. This may be a good first step for further support of subqueries, aggregation functions etc. |