Package io.ebean.bean

Interface PersistenceContext


public interface PersistenceContext
Holds entity beans by there type and id.

This is used to ensure only one instance for a given entity type and id is used to build object graphs from queries and lazy loading.

  • Nested Class Summary

    Nested Classes
    Modifier and Type Interface Description
    static class  PersistenceContext.WithOption
    Wrapper on a bean to also indicate if a bean has been deleted.
  • Method Summary

    Modifier and Type Method Description
    void clear()
    Clear all the references.
    void clear​(Class<?> rootType)
    Clear all the references for a given type of entity bean.
    void clear​(Class<?> rootType, Object uid)
    Clear the reference to a specific entity bean.
    void deleted​(Class<?> rootType, Object id)
    Clear the reference as a result of an entity being deleted.
    List<Object> dirtyBeans()
    Return the list of dirty beans held by this persistence context.
    PersistenceContext forIterate()
    Return a copy of the Persistence context to use for large query iteration.
    PersistenceContext forIterateReset()
    Return a new Persistence context during iteration of large query result.
    Object get​(Class<?> rootType, Object uid)
    Return an object given its type and unique id.
    PersistenceContext.WithOption getWithOption​(Class<?> rootType, Object uid)
    Get the bean from the persistence context also checked to see if it had been previously deleted (if so then you also can't hit the L2 cache to fetch the bean for this particular persistence context).
    void put​(Class<?> rootType, Object id, Object bean)
    Put the entity bean into the PersistenceContext.
    Object putIfAbsent​(Class<?> rootType, Object id, Object bean)
    Put the entity bean into the PersistenceContext if one is not already present (for this id).
    boolean resetLimit()
    Return true if the persistence context has grown and hit the 'reset limit' during large query iteration.
    int size​(Class<?> rootType)
    Return the number of beans of the given type in the persistence context.
  • Method Details

    • put

      void put​(Class<?> rootType, Object id, Object bean)
      Put the entity bean into the PersistenceContext.
    • putIfAbsent

      Object putIfAbsent​(Class<?> rootType, Object id, Object bean)
      Put the entity bean into the PersistenceContext if one is not already present (for this id).

      Returns an existing entity bean (if one is already there) and otherwise returns null.

    • get

      Object get​(Class<?> rootType, Object uid)
      Return an object given its type and unique id.
    • getWithOption

      Get the bean from the persistence context also checked to see if it had been previously deleted (if so then you also can't hit the L2 cache to fetch the bean for this particular persistence context).
    • clear

      void clear()
      Clear all the references.
    • clear

      void clear​(Class<?> rootType)
      Clear all the references for a given type of entity bean.
    • clear

      void clear​(Class<?> rootType, Object uid)
      Clear the reference to a specific entity bean.
    • deleted

      void deleted​(Class<?> rootType, Object id)
      Clear the reference as a result of an entity being deleted.
    • size

      int size​(Class<?> rootType)
      Return the number of beans of the given type in the persistence context.
    • forIterate

      Return a copy of the Persistence context to use for large query iteration.
    • forIterateReset

      Return a new Persistence context during iteration of large query result.
    • resetLimit

      boolean resetLimit()
      Return true if the persistence context has grown and hit the 'reset limit' during large query iteration.
    • dirtyBeans

      Return the list of dirty beans held by this persistence context.