java.lang.Object
io.ebean.FetchConfig
- All Implemented Interfaces:
Serializable
Defines how a relationship is fetched via either normal SQL join,
a eager secondary query, via lazy loading or via eagerly hitting L2 cache.
// Normal fetch join results in a single SQL query
List<Order> list = DB.find(Order.class).fetch("details").findList();
Example: Using a "query join" instead of a "fetch join" we instead use 2 SQL queries
// This will use 2 SQL queries to build this object graph
List<Order> list =
DB.find(Order.class)
.fetch("details", FetchConfig.ofQuery())
.findList();
// query 1) find order
// query 2) find orderDetails where order.id in (?,?...) // first 100 order id's
- See Also:
-
Method Summary
Modifier and TypeMethodDescriptionbooleanintReturn the batch size for fetching.inthashCode()booleanisCache()Return true if the fetch should use the L2 cache.booleanisJoin()Return true if the fetch should try to use SQL join.booleanisLazy()Return true if the fetch should be a lazy query.booleanisQuery()Return true if the fetch should be a eager secondary query.static FetchConfigofCache()Return FetchConfig to eagerly fetch the relationship using L2 cache.static FetchConfigReturn FetchConfig to fetch the relationship using SQL join.static FetchConfigofLazy()Return FetchConfig to lazily load the relationship.static FetchConfigofLazy(int batchSize) Return FetchConfig to lazily load the relationship specifying the batch size.static FetchConfigofQuery()Return FetchConfig to eagerly fetch the relationship using a secondary query.static FetchConfigofQuery(int batchSize) Return FetchConfig to eagerly fetch the relationship using a secondary with a given batch size.
-
Method Details
-
ofCache
Return FetchConfig to eagerly fetch the relationship using L2 cache.Any cache misses will be loaded by secondary query to the database.
-
ofQuery
Return FetchConfig to eagerly fetch the relationship using a secondary query. -
ofQuery
Return FetchConfig to eagerly fetch the relationship using a secondary with a given batch size. -
ofLazy
Return FetchConfig to lazily load the relationship. -
ofLazy
Return FetchConfig to lazily load the relationship specifying the batch size. -
ofDefault
Return FetchConfig to fetch the relationship using SQL join. -
getBatchSize
public int getBatchSize()Return the batch size for fetching. -
isCache
public boolean isCache()Return true if the fetch should use the L2 cache. -
isQuery
public boolean isQuery()Return true if the fetch should be a eager secondary query. -
isLazy
public boolean isLazy()Return true if the fetch should be a lazy query. -
isJoin
public boolean isJoin()Return true if the fetch should try to use SQL join. -
equals
-
hashCode
public int hashCode()
-