Constructing queries
First of create a query object
SolutionQuery myQuery = session.getSolutionQuery( "mynewsolution" );
A query is built much like an SQL query by appending different fields to be SELECT'ed
myQuery.addSelectField("MYNUMBER");
Additionally WHERE components are added
myQuery.addWhereCriterion("StatusID", "In progress");
myQuery.addWhereCriterion("INCOME", QueryPart.MORE, "22");
myQuery.addWhereInList("PARENTITEMS", arrayListOfDataID);
Likewise operators can be added
...
myQuery.addWhereOR();
...
...
myQuery.addWhereAND();
...
Note that lookup values etc. will be translated silently.
myQuery.setSortOrder("INCOME", true);
Order records by income in descending order (true).
By default the API limits solution queries to 100 rows. To increase this:
myQuery.setLimit(100000);
To do pagination use this:
myQuery.setLimitAndOffset(100, 100);
Finally execute the query and return the results
SolutionQueryResultSet records = myQuery.executeQuery();