Interface JDBCFetchPlan

  • All Superinterfaces:
    FetchPlan
    All Known Implementing Classes:
    JDBCFetchPlanImpl

    public interface JDBCFetchPlan
    extends FetchPlan
    JDBC extensions to the fetch plan.
    Since:
    0.4.1
    Author:
    Abe White, Pinaki Poddar
    • Method Detail

      • getEagerFetchMode

        FetchMode getEagerFetchMode()
        Eager fetch mode in loading relations.
      • setEagerFetchMode

        JDBCFetchPlan setEagerFetchMode​(FetchMode mode)
        Eager fetch mode in loading relations.
      • getSubclassFetchMode

        FetchMode getSubclassFetchMode()
        Eager fetch mode in loading subclasses.
      • setSubclassFetchMode

        JDBCFetchPlan setSubclassFetchMode​(FetchMode mode)
        Eager fetch mode in loading subclasses.
      • getResultSetType

        ResultSetType getResultSetType()
        Type of JDBC result set to use for query results.
      • getFetchDirection

        FetchDirection getFetchDirection()
        Result set fetch direction.
      • getLRSSizeAlgorithm

        LRSSizeAlgorithm getLRSSizeAlgorithm()
        How to determine the size of a large result set.
      • getJoinSyntax

        JoinSyntax getJoinSyntax()
        SQL join syntax.
      • getIsolation

        IsolationLevel getIsolation()
        The isolation level for queries issued to the database. This overrides the persistence-unit-wide openjpa.jdbc.TransactionIsolation value.
        Since:
        0.9.7
      • setIsolation

        JDBCFetchPlan setIsolation​(IsolationLevel level)
        The isolation level for queries issued to the database. This overrides the persistence-unit-wide openjpa.jdbc.TransactionIsolation value.
        Since:
        0.9.7
      • addFetchGroup

        JDBCFetchPlan addFetchGroup​(java.lang.String group)
        Description copied from interface: FetchPlan
        Adds group to the set of fetch group to use when loading objects.
        Specified by:
        addFetchGroup in interface FetchPlan
      • addFetchGroups

        JDBCFetchPlan addFetchGroups​(java.util.Collection groups)
        Description copied from interface: FetchPlan
        Adds groups to the set of fetch group names to use when loading objects.
        Specified by:
        addFetchGroups in interface FetchPlan
      • addFetchGroups

        JDBCFetchPlan addFetchGroups​(java.lang.String... groups)
        Description copied from interface: FetchPlan
        Adds groups to the set of fetch group names to use when loading objects.
        Specified by:
        addFetchGroups in interface FetchPlan
      • addField

        JDBCFetchPlan addField​(java.lang.Class cls,
                               java.lang.String field)
        Description copied from interface: FetchPlan
        Adds field to the set of field names to use when loading objects.
        Specified by:
        addField in interface FetchPlan
      • addField

        JDBCFetchPlan addField​(java.lang.String field)
        Description copied from interface: FetchPlan
        Adds field to the set of fully-qualified field names to use when loading objects.
        Specified by:
        addField in interface FetchPlan
      • addFields

        JDBCFetchPlan addFields​(java.lang.Class cls,
                                java.util.Collection fields)
        Description copied from interface: FetchPlan
        Adds fields to the set of field names to use when loading objects.
        Specified by:
        addFields in interface FetchPlan
      • addFields

        JDBCFetchPlan addFields​(java.lang.Class cls,
                                java.lang.String... fields)
        Description copied from interface: FetchPlan
        Adds fields to the set of field names to use when loading objects.
        Specified by:
        addFields in interface FetchPlan
      • addFields

        JDBCFetchPlan addFields​(java.util.Collection fields)
        Description copied from interface: FetchPlan
        Adds fields to the set of fully-qualified field names to use when loading objects.
        Specified by:
        addFields in interface FetchPlan
      • addFields

        JDBCFetchPlan addFields​(java.lang.String... fields)
        Description copied from interface: FetchPlan
        Adds fields to the set of fully-qualified field names to use when loading objects.
        Specified by:
        addFields in interface FetchPlan
      • clearFetchGroups

        JDBCFetchPlan clearFetchGroups()
        Description copied from interface: FetchPlan
        Clears the set of fetch group names to use wen loading data. After this operation is invoked, only those fields in the default fetch group (and any requested field) will be loaded when loading an object.
        Specified by:
        clearFetchGroups in interface FetchPlan
      • clearFields

        JDBCFetchPlan clearFields()
        Description copied from interface: FetchPlan
        Clears the set of field names to use wen loading data. After this operation is invoked, only those fields in the configured fetch groups will be loaded when loading an object.
        Specified by:
        clearFields in interface FetchPlan
      • removeFetchGroups

        JDBCFetchPlan removeFetchGroups​(java.util.Collection groups)
        Description copied from interface: FetchPlan
        Removes groups from the set of fetch group names to use when loading objects.
        Specified by:
        removeFetchGroups in interface FetchPlan
      • removeFetchGroups

        JDBCFetchPlan removeFetchGroups​(java.lang.String... groups)
        Description copied from interface: FetchPlan
        Removes groups from the set of fetch group names to use when loading objects.
        Specified by:
        removeFetchGroups in interface FetchPlan
      • removeField

        JDBCFetchPlan removeField​(java.lang.Class cls,
                                  java.lang.String field)
        Description copied from interface: FetchPlan
        Remove the given field.
        Specified by:
        removeField in interface FetchPlan
      • removeFields

        JDBCFetchPlan removeFields​(java.lang.Class cls,
                                   java.util.Collection fields)
        Description copied from interface: FetchPlan
        Removes fields from the set of field names to use when loading objects.
        Specified by:
        removeFields in interface FetchPlan
      • removeFields

        JDBCFetchPlan removeFields​(java.lang.Class cls,
                                   java.lang.String... fields)
        Description copied from interface: FetchPlan
        Removes fields from the set of field names to use when loading objects.
        Specified by:
        removeFields in interface FetchPlan
      • removeFields

        JDBCFetchPlan removeFields​(java.lang.String... fields)
        Description copied from interface: FetchPlan
        Removes fields from the set of fully-qualified field names to use when loading objects.
        Specified by:
        removeFields in interface FetchPlan
      • removeFields

        JDBCFetchPlan removeFields​(java.util.Collection fields)
        Description copied from interface: FetchPlan
        Removes fields from the set of fully-qualified field names to use when loading objects.
        Specified by:
        removeFields in interface FetchPlan
      • setQueryResultCacheEnabled

        JDBCFetchPlan setQueryResultCacheEnabled​(boolean cache)
        Description copied from interface: FetchPlan
        Control whether or not query caching is enabled. This has no effect if the datacache plugin is not installed, or if the query cache size is set to zero.
        Specified by:
        setQueryResultCacheEnabled in interface FetchPlan
      • setFetchBatchSize

        JDBCFetchPlan setFetchBatchSize​(int fetchBatchSize)
        Description copied from interface: FetchPlan
        Set the fetch batch size for large result set support. Defaults to the openjpa.FetchBatchSize setting. Note that this property will be ignored under some data stores.
        Specified by:
        setFetchBatchSize in interface FetchPlan
      • setLockTimeout

        JDBCFetchPlan setLockTimeout​(int timeout)
        Description copied from interface: FetchPlan
        The number of milliseconds to wait for an object lock, or -1 for no limit.
        Specified by:
        setLockTimeout in interface FetchPlan
      • setReadLockMode

        JDBCFetchPlan setReadLockMode​(jakarta.persistence.LockModeType mode)
        Description copied from interface: FetchPlan
        The lock level to use for locking loaded objects.
        Specified by:
        setReadLockMode in interface FetchPlan
      • setWriteLockMode

        JDBCFetchPlan setWriteLockMode​(jakarta.persistence.LockModeType mode)
        Description copied from interface: FetchPlan
        The lock level to use for locking dirtied objects.
        Specified by:
        setWriteLockMode in interface FetchPlan
      • setQueryTimeout

        JDBCFetchPlan setQueryTimeout​(int timeout)
        Description copied from interface: FetchPlan
        The number of milliseconds to wait for a query, or -1 for no limit.
        Specified by:
        setQueryTimeout in interface FetchPlan
      • getIgnoreDfgForFkSelect

        boolean getIgnoreDfgForFkSelect()
        Affirms if foreign key for a relation field will be pre-fetched as part of the owning object irrespective of whether the field is included in the default fetch group of this fetch configuration.

        By default, foreign key for a relation field is pre-fetched as part of the owning object only if the field in included in the default fetch group of this fetch configuration.
        Since:
        2.2.0
      • setIgnoreDfgForFkSelect

        void setIgnoreDfgForFkSelect​(boolean b)
        Affirms if foreign key for a relation field will be pre-fetched as part of the owning object irrespective of whether the field is included in the default fetch group of this fetch configuration.

        By default, foreign key for a relation field is pre-fetched as part of the owning object only if the field in included in the default fetch group of this fetch configuration.
        Since:
        2.2.0