public class SuperLazyList<T extends Model> extends LazyList<T>
toMaps() method in cases of eager loading of dependencies.
This class is never used by application code directly, rather as a return value from Model.getAll(..)
methods.delegate| Modifier | Constructor and Description |
|---|---|
protected |
SuperLazyList() |
| Modifier and Type | Method and Description |
|---|---|
boolean |
add(T o) |
protected void |
hydrate() |
<E extends Model> |
include(Class<? extends Model>... classes)
This method includes associated objects.
|
<E extends Model> |
limit(long limit)
This method limits the number of results in the resultset.
|
<E extends Model> |
load()
This method exists to force immediate load from DB.
|
<E extends Model> |
offset(long offset)
This method sets an offset of a resultset.
|
<E extends Model> |
orderBy(String orderBy)
Use this method to order results by a column.
|
collect, collect, collectDistinct, collectDistinct, dump, dump, readExternal, toJson, toMaps, toSql, toSql, toXml, toXml, writeExternaladd, addAll, addAll, clear, contains, containsAll, equals, get, hashCode, indexOf, isEmpty, iterator, lastIndexOf, listIterator, listIterator, remove, remove, removeAll, retainAll, set, size, subList, toArray, toArray, toStringclone, finalize, getClass, notify, notifyAll, wait, wait, waitreplaceAll, sort, spliteratorparallelStream, removeIf, streampublic boolean add(T o)
public <E extends Model> LazyList<E> load()
LazyList Person.find("name = ?", "Smith").load();.
It is not possible to call other methods after load(). The load() method should be the last to be called in the chain:
Person.find("name = ?", "Smith").limit(10).load();.
This: will generate exception: Person.find("name = ?", "Smith").load().limit();.public <E extends Model> LazyList<E> include(Class<? extends Model>... classes)
LazyListAuthor, Post
and Comment, where Author has many Posts and Post
has many Comments, then this query:
Listwill generate only three queries to database - one per model. All the dependencies (includes) will be eagerly loaded, and iteration via thetodayPosts = Post.where("post_date = ?", today).include(Author.class, Comment.class);
todayPosts list will not generate any more queries,
even when a post author and comments are requested. Use this with caution as this method can allocate
a lot of memory (obviously).
This method will not follow relationships of related models, but rather only relationships of the current
one.public <E extends Model> LazyList<E> orderBy(String orderBy)
LazyListPerson.find(...).orderBy("department").orderBy("age")public <E extends Model> LazyList<E> offset(long offset)
LazyListList events = Event.find("mnemonic = ?", "GLUC").offset(101).limit(20).orderBy("history_event_id");
This will produce 20 records, starting from record 101. This is an efficient method, it will only retrieve records
that are necessary.public <E extends Model> LazyList<E> limit(long limit)
LazyListList<Event> events = Event.find("mnemonic = ?", "GLUC").offset(101).limit(20).orderBy("history_event_id");
This will produce 20 records, starting from record 101. This is an efficient method, it will only retrieve records
that are necessary.Copyright © 2018 JavaLite. All rights reserved.