When a list is too large to send to the UI in one shot, there is the ability to "get more" rows.
An @List can simply have its order set (separate from any other Maintenance List Filter properties). Everything else is automated by the FW. There is no need to add special LAST_ fields to the annotation/service, nor even to add the parent's PKs.
The order of a maintenance's list can be given in two ways:
The list will retrieve rows in chunk sizes given by the size property on the @List annotation.
An example of using this filtering to join extra information is available on the class MaintenanceObjectMaintenance
. Another example on a ListService
, is available on the class NavigationOptionMenuList
.
Besides using a MaintenanceListFilter and knowing how to deal with list get mores, lists in a page maintenance will automatically retrieve (and cache) the language row associated with the main row of the list. This helps the n+1 select problem (only a single SQL is issued, instead of the main one, plus an extra one for each of the rows' language row), and also provides the ability to have short hand for the orderBy property of a list. If the order is simply by a language property, then you can reference it by thisLang
.property, without having to supply a filterClause.