Provides implementations of the JDO Query interface, and ways of extracting an Object from the Query result set.
Queries
Queries take Query as a base class and are extended by the actual query type. So we have JDOQLQuery
to represent JDOQL queries, SQLQuery to represent SQL queries, etc. A Query is compiled, generating SQL, and
then executed, generating a ResultSet.
Query Results
When a Query is executed it creates a ResultSet. This is returned to the user in the form of a QueryResult
which is an implementation of a List. The user can iterate through this.
Extracting results from queries
We need to extract the results into the form the user requries. This is the role of ResultObjectFactory's.
The PersistentIDROF provides a way to convert a row of a ResultSet into a persistent object.
The TransientIDROF provides a way to convert a row of ResultSet into a non-durable object.
The third type ResultExpressionROF provides a way to convert a row of a ResultSet into an array of Object's