# Hierarchy For Package org.apache.cayenne.query

Package Hierarchies:

- All Packages

## Class Hierarchy

- java.lang.Object
  - java.util.AbstractCollection<E> (implements java.util.Collection<E>)
    - java.util.AbstractList<E> (implements java.util.List<E>)
      - java.util.ArrayList<E> (implements java.lang.Cloneable, java.util.List<E>, java.util.RandomAccess, java.io.Serializable)
        - org.apache.cayenne.query.Orderings
  - org.apache.cayenne.query.BatchQuery (implements org.apache.cayenne.query.Query)
    - org.apache.cayenne.query.DeleteBatchQuery
    - org.apache.cayenne.query.InsertBatchQuery
    - org.apache.cayenne.query.UpdateBatchQuery
  - org.apache.cayenne.query.BatchQueryRow
  - org.apache.cayenne.query.CacheableQuery (implements org.apache.cayenne.query.Query)
    - org.apache.cayenne.query.AbstractQuery
      - org.apache.cayenne.query.ProcedureQuery (implements org.apache.cayenne.query.ParameterizedQuery)
      - org.apache.cayenne.query.SelectQuery<T> (implements org.apache.cayenne.query.ParameterizedQuery, org.apache.cayenne.query.Select<T>)
        - org.apache.cayenne.query.PrefetchSelectQuery<T>
      - org.apache.cayenne.query.SQLTemplate (implements org.apache.cayenne.query.ParameterizedQuery)
    - org.apache.cayenne.query.EJBQLQuery
  - org.apache.cayenne.query.IndirectQuery (implements org.apache.cayenne.query.Query)
    - org.apache.cayenne.query.AbstractMappedQuery
      - org.apache.cayenne.query.MappedExec
      - org.apache.cayenne.query.MappedSelect<T> (implements org.apache.cayenne.query.Select<T>)
    - org.apache.cayenne.query.FluentSelect<T> (implements org.apache.cayenne.query.Select<T>)
      - org.apache.cayenne.query.ColumnSelect<T>
      - org.apache.cayenne.query.ObjectSelect<T>
    - org.apache.cayenne.query.ObjectIdQuery
    - org.apache.cayenne.query.ProcedureCall<T>
    - org.apache.cayenne.query.RelationshipQuery
    - org.apache.cayenne.query.SelectById<T> (implements org.apache.cayenne.query.Select<T>)
    - org.apache.cayenne.query.SQLExec
    - org.apache.cayenne.query.SQLSelect<T> (implements org.apache.cayenne.query.Select<T>)
  - org.apache.cayenne.query.Ordering (implements java.util.Comparator<T>, java.io.Serializable, org.apache.cayenne.util.XMLSerializable)
  - org.apache.cayenne.query.PrefetchTreeNode (implements java.io.Serializable, org.apache.cayenne.util.XMLSerializable)
  - org.apache.cayenne.query.QueryChain (implements org.apache.cayenne.query.Query)
  - org.apache.cayenne.query.QueryMetadataProxy (implements org.apache.cayenne.query.QueryMetadata)
  - org.apache.cayenne.query.RefreshQuery (implements org.apache.cayenne.query.Query)
  - org.apache.cayenne.query.SQLTemplateMetadata

## Interface Hierarchy

- org.apache.cayenne.query.EntityResultSegment
- org.apache.cayenne.query.PrefetchProcessor
- org.apache.cayenne.query.QueryMetadata
- org.apache.cayenne.query.QueryRouter
- org.apache.cayenne.query.ScalarResultSegment
- java.io.Serializable
  - org.apache.cayenne.query.Query
    - org.apache.cayenne.query.ParameterizedQuery
    - org.apache.cayenne.query.Select<T>
- org.apache.cayenne.query.SQLAction
- org.apache.cayenne.query.SQLActionVisitor

## Enum Hierarchy

- java.lang.Object
  - java.lang.Enum<E> (implements java.lang.Comparable<T>, java.io.Serializable)
    - org.apache.cayenne.query.CapsStrategy
    - org.apache.cayenne.query.QueryCacheStrategy
    - org.apache.cayenne.query.SortOrder