## org.hibernate.engine.query
Class QueryPlanCache

    java.lang.Object
      org.hibernate.engine.query.QueryPlanCache

All Implemented Interfaces:
  Serializable

    public class QueryPlanCache

extends Object
implements Serializable

Acts as a cache for compiled query plans, as well as query-parameter metadata.

Author:
  Steve Ebersole
See Also:
  `Environment.QUERY_PLAN_CACHE_MAX_STRONG_REFERENCES`, `Environment.QUERY_PLAN_CACHE_MAX_SOFT_REFERENCES`, Serialized Form

Constructor Summary
`QueryPlanCache(SessionFactoryImplementor factory)`

Method Summary
`FilterQueryPlan` `getFilterQueryPlan(String filterString, String collectionRole, boolean shallow, Map enabledFilters)`
`HQLQueryPlan` `getHQLQueryPlan(String queryString, boolean shallow, Map enabledFilters)`
`NativeSQLQueryPlan` `getNativeSQLQueryPlan(NativeSQLQuerySpecification spec)`
`ParameterMetadata` `getSQLParameterMetadata(String query)` Obtain the parameter metadata for given native-sql query.

Methods inherited from class java.lang.Object
`clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait`

Constructor Detail

### QueryPlanCache

    public QueryPlanCache(SessionFactoryImplementor factory)

Method Detail

### getSQLParameterMetadata

    public ParameterMetadata getSQLParameterMetadata(String query)

  Obtain the parameter metadata for given native-sql query.

  for native-sql queries, the param metadata is determined outside any relation to a query plan, because query plan creation and/or retrieval for a native-sql query depends on all of the return types having been set, which might not be the case up-front when param metadata would be most useful

  Parameters:
    `query` - The query
  Returns:
    The parameter metadata

### getHQLQueryPlan

    public HQLQueryPlan getHQLQueryPlan(String queryString,
                                        boolean shallow,
                                        Map enabledFilters)
                                 throws QueryException,
                                        MappingException

  Throws:
    `QueryException`
    `MappingException`

### getFilterQueryPlan

    public FilterQueryPlan getFilterQueryPlan(String filterString,
                                              String collectionRole,
                                              boolean shallow,
                                              Map enabledFilters)
                                       throws QueryException,
                                              MappingException

  Throws:
    `QueryException`
    `MappingException`

### getNativeSQLQueryPlan

    public NativeSQLQueryPlan getNativeSQLQueryPlan(NativeSQLQuerySpecification spec)

Copyright © 2001-2010 Red Hat, Inc. All Rights Reserved.