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, writeExternal
add, addAll, addAll, clear, contains, containsAll, equals, get, hashCode, indexOf, isEmpty, iterator, lastIndexOf, listIterator, listIterator, remove, remove, removeAll, retainAll, set, size, subList, toArray, toArray, toString
clone, finalize, getClass, notify, notifyAll, wait, wait, wait
replaceAll, sort, spliterator
parallelStream, removeIf, stream
public 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)
LazyList
Author
, Post
and Comment
, where Author
has many Post
s and Post
has many Comment
s, 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)
LazyList
Person.find(...).orderBy("department").orderBy("age")
public <E extends Model> LazyList<E> offset(long offset)
LazyList
List 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)
LazyList
List<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 © 2019 JavaLite. All rights reserved.