-
Notifications
You must be signed in to change notification settings - Fork 880
Querydsl SQL query serialization
John Tims edited this page Oct 29, 2015
·
6 revisions
The SQLQuery populates a QueryMetadata instance via a QueryMixin class. When the query is populated it is serialized into a SQL query string and bindings using the SQLSerializer class.
The following parts of the QueryMetadata class are used in the serialization process:
WITH
-
metadata.getFlags() (where Position.WITH)
-
metadata.getFlags() (where Position.START)
SELECT
- metadata.getProjection()
- metadata.getFlags() (where Position.AFTER_SELECT)
- metadata.getFlags() (where Position.AFTER_PROJECTION)
FROM (and joins)
- metadata.getJoins()
WHERE
- metadata.getWhere()
- metadata.getFlags() (where Position.BEFORE_FILTERS)
- metadata.getFlags() (where Position.AFTER_FILTERS)
GROUP BY
- metadata.getGroupBy()
- metadata.getFlags() (where Position.BEFORE_GROUP_BY)
- metadata.getFlags() (where Position.AFTER_GROUP_BY)
HAVING
- metadata.getHaving()
- metadata.getFlags() (where Position.BEFORE_HAVING)
- metadata.getFlags() (where Position.AFTER_HAVING)
ORDER BY
- metadata.getOrderBy()
- metadata.getFlags() (where Position.BEFORE_ORDER)
- metadata.getFlags() (where Position.AFTER_ORDER)
modifiers (LIMIT & OFFSET)