Support a mechanism to translate a Criteria Query instance into a String.
The string syntax should be almost JPQL but not exactly. Because some Criteria Query expressions do not have a direct JPQL representation.
I will refer this almost JPQL-like syntax as Criteria Query Language or CQL – which will provide ample scope of confusion being homophonic with SQL.
From a technical perspectives, conversion to a string format should address the following
1. the string should look more like JPQL than a mere translation of internal expressions (say BETWEEN in two EQUAL nodes ANDed together internally)
2. the criteria query may be incomplete. This will be useful for the IDE tools to display the string as an user constructs the query.