public interface NativeQuery<T> extends Query<T>, SQLQuery<T>, SynchronizeableQuery<T>
SQLQuery.FetchReturn, SQLQuery.ReturnProperty, SQLQuery.RootReturn| Modifier and Type | Method and Description |
|---|---|
NativeQuery<T> |
addEntity(Class entityType)
Declare a "root" entity, without specifying an alias.
|
NativeQuery<T> |
addEntity(String entityName)
Declare a "root" entity, without specifying an alias.
|
NativeQuery<T> |
addEntity(String tableAlias,
Class entityType)
Declare a "root" entity.
|
NativeQuery<T> |
addEntity(String tableAlias,
Class entityClass,
LockMode lockMode)
Declare a "root" entity, specifying a lock mode.
|
NativeQuery<T> |
addEntity(String tableAlias,
String entityName)
Declare a "root" entity.
|
NativeQuery<T> |
addEntity(String tableAlias,
String entityName,
LockMode lockMode)
Declare a "root" entity, specifying a lock mode.
|
SQLQuery.FetchReturn |
addFetch(String tableAlias,
String ownerTableAlias,
String joinPropertyName)
Declare a join fetch result.
|
NativeQuery<T> |
addJoin(String tableAlias,
String path)
Declare a join fetch result.
|
NativeQuery<T> |
addJoin(String tableAlias,
String path,
LockMode lockMode)
Declare a join fetch result, specifying a lock mode.
|
NativeQuery<T> |
addJoin(String tableAlias,
String ownerTableAlias,
String joinPropertyName)
Declare a join fetch result.
|
NativeQuery<T> |
addQueryHint(String hint)
Add a DB query hint to the SQL.
|
SQLQuery.RootReturn |
addRoot(String tableAlias,
Class entityType)
Add a new root return mapping, returning a
SQLQuery.RootReturn to allow further definition. |
SQLQuery.RootReturn |
addRoot(String tableAlias,
String entityName)
Add a new root return mapping, returning a
SQLQuery.RootReturn to allow further definition. |
NativeQuery<T> |
addScalar(String columnAlias)
Declare a scalar query result.
|
NativeQuery<T> |
addScalar(String columnAlias,
Type type)
Declare a scalar query result.
|
NativeQuery<T> |
addSynchronizedEntityClass(Class entityClass)
Adds an entity for (a) auto-flush checking and (b) query result cache invalidation checking.
|
NativeQuery<T> |
addSynchronizedEntityName(String entityName)
Adds an entity name for (a) auto-flush checking and (b) query result cache invalidation checking.
|
NativeQuery<T> |
addSynchronizedQuerySpace(String querySpace)
Adds a query space.
|
boolean |
isCallable()
Is this native-SQL query known to be callable?
|
NativeQuery<T> |
setCacheable(boolean cacheable)
Enable/disable second level query (result) caching for this query.
|
NativeQuery<T> |
setCacheMode(CacheMode cacheMode)
(Re)set the current CacheMode in effect for this query.
|
NativeQuery<T> |
setCacheRegion(String cacheRegion)
Set the name of the cache region where query results should be cached (if cached at all).
|
NativeQuery<T> |
setComment(String comment)
Set the comment for this query.
|
NativeQuery<T> |
setFetchSize(int fetchSize)
Sets a JDBC fetch size hint for the query.
|
NativeQuery<T> |
setFirstResult(int startPosition) |
NativeQuery<T> |
setFlushMode(FlushMode flushMode)
(Re)set the current FlushMode in effect for this query.
|
NativeQuery<T> |
setFlushMode(FlushModeType flushMode) |
NativeQuery<T> |
setHibernateFlushMode(FlushMode flushMode)
(Re)set the current FlushMode in effect for this query.
|
NativeQuery<T> |
setHint(String hintName,
Object value) |
NativeQuery<T> |
setLockMode(LockModeType lockMode) |
NativeQuery<T> |
setLockMode(String alias,
LockMode lockMode)
Set the LockMode to use for specific alias (as defined in the query's FROM clause).
|
NativeQuery<T> |
setLockOptions(LockOptions lockOptions)
Set the lock options for the query.
|
NativeQuery<T> |
setMaxResults(int maxResult) |
NativeQuery<T> |
setParameter(int position,
Calendar value,
TemporalType temporalType) |
NativeQuery<T> |
setParameter(int position,
Date value,
TemporalType temporalType) |
NativeQuery<T> |
setParameter(int position,
Instant value,
TemporalType temporalType) |
NativeQuery<T> |
setParameter(int position,
LocalDateTime value,
TemporalType temporalType) |
NativeQuery<T> |
setParameter(int position,
Object value)
Bind a positional query parameter using its inferred Type.
|
NativeQuery<T> |
setParameter(int position,
Object val,
TemporalType temporalType)
Bind a positional query parameter as some form of date/time using
the indicated temporal-type.
|
NativeQuery<T> |
setParameter(int position,
Object val,
Type type)
Bind a value to a JDBC-style query parameter.
|
NativeQuery<T> |
setParameter(int position,
OffsetDateTime value,
TemporalType temporalType) |
NativeQuery<T> |
setParameter(int position,
ZonedDateTime value,
TemporalType temporalType) |
NativeQuery<T> |
setParameter(Parameter<Calendar> param,
Calendar value,
TemporalType temporalType) |
NativeQuery<T> |
setParameter(Parameter<Date> param,
Date value,
TemporalType temporalType) |
NativeQuery<T> |
setParameter(Parameter<Instant> param,
Instant value,
TemporalType temporalType) |
NativeQuery<T> |
setParameter(Parameter<LocalDateTime> param,
LocalDateTime value,
TemporalType temporalType) |
NativeQuery<T> |
setParameter(Parameter<OffsetDateTime> param,
OffsetDateTime value,
TemporalType temporalType) |
<P> NativeQuery<T> |
setParameter(Parameter<P> param,
P value) |
NativeQuery<T> |
setParameter(Parameter<ZonedDateTime> param,
ZonedDateTime value,
TemporalType temporalType) |
<P> NativeQuery<T> |
setParameter(QueryParameter<P> parameter,
P val)
Bind a query parameter using its inferred Type.
|
<P> NativeQuery<T> |
setParameter(QueryParameter<P> parameter,
P val,
TemporalType temporalType)
Bind a query parameter as some form of date/time using the indicated
temporal-type.
|
<P> NativeQuery<T> |
setParameter(QueryParameter<P> parameter,
P val,
Type type)
Bind a query parameter using the supplied Type
|
NativeQuery<T> |
setParameter(String name,
Calendar value,
TemporalType temporalType) |
NativeQuery<T> |
setParameter(String name,
Date value,
TemporalType temporalType) |
NativeQuery<T> |
setParameter(String name,
Instant value,
TemporalType temporalType) |
NativeQuery<T> |
setParameter(String name,
LocalDateTime value,
TemporalType temporalType) |
NativeQuery<T> |
setParameter(String name,
Object value)
Bind a named query parameter using its inferred Type.
|
NativeQuery<T> |
setParameter(String name,
Object val,
TemporalType temporalType)
Bind a named query parameter as some form of date/time using
the indicated temporal-type.
|
NativeQuery<T> |
setParameter(String name,
Object val,
Type type)
Bind a named query parameter using the supplied Type
|
NativeQuery<T> |
setParameter(String name,
OffsetDateTime value,
TemporalType temporalType) |
NativeQuery<T> |
setParameter(String name,
ZonedDateTime value,
TemporalType temporalType) |
<P> NativeQuery<T> |
setParameterList(QueryParameter<P> parameter,
Collection<P> values)
Bind multiple values to a query parameter using its inferred Type.
|
NativeQuery<T> |
setParameterList(String name,
Collection values)
Bind multiple values to a named query parameter.
|
NativeQuery<T> |
setParameterList(String name,
Collection values,
Type type)
Bind multiple values to a named query parameter.
|
NativeQuery<T> |
setParameterList(String name,
Object[] values)
Bind multiple values to a named query parameter.
|
NativeQuery<T> |
setParameterList(String name,
Object[] values,
Type type)
Bind multiple values to a named query parameter.
|
NativeQuery<T> |
setProperties(Map bean)
Bind the values of the given Map for each named parameters of the query,
matching key names with parameter names and mapping value types to
Hibernate types using heuristics.
|
NativeQuery<T> |
setProperties(Object bean)
Bind the property values of the given bean to named parameters of the query,
matching property names with parameter names and mapping property types to
Hibernate types using heuristics.
|
NativeQuery<T> |
setReadOnly(boolean readOnly)
Set the read-only/modifiable mode for entities and proxies
loaded by this Query.
|
NativeQuery<T> |
setResultSetMapping(String name)
Use a predefined named result-set mapping.
|
NativeQuery<T> |
setTimeout(int timeout)
Set the query timeout in seconds.
|
applyFetchGraph, applyGraph, applyLoadGraph, getCacheMode, getCacheRegion, getComment, getFetchSize, getHibernateFlushMode, getLockOptions, getParameterMetadata, getProducer, getQueryString, getResultList, getResultStream, getSingleResult, list, scroll, scroll, setBigDecimal, setBigDecimal, setBigInteger, setBigInteger, setBinary, setBinary, setBoolean, setBoolean, setByte, setByte, setCalendar, setCalendar, setCalendarDate, setCalendarDate, setCharacter, setCharacter, setDate, setDate, setDouble, setDouble, setEntity, setEntity, setFloat, setFloat, setInteger, setInteger, setLocale, setLocale, setLong, setLong, setParameters, setResultTransformer, setSerializable, setSerializable, setShort, setShort, setString, setString, setText, setText, setTime, setTime, setTimestamp, setTimestamp, stream, uniqueResult, uniqueResultOptionalgetQueryReturnsdetermineProperBooleanType, determineProperBooleanType, getFlushMode, getHibernateFirstResult, getHibernateMaxResults, getNamedParameters, getQueryOptions, getReturnAliases, getReturnTypes, getTimeout, isCacheable, isReadOnly, iterate, setHibernateFirstResult, setHibernateMaxResults, setParameterList, setParameterList, setParameterList, setParameterListexecuteUpdate, getFirstResult, getHints, getLockMode, getMaxResults, getParameter, getParameter, getParameter, getParameter, getParameters, getParameterValue, getParameterValue, getParameterValue, isBound, unwrapaddSynchronizedEntityClass, addSynchronizedEntityName, addSynchronizedQuerySpace, addSynchronizedTable, addSynchronizedTable, getSynchronizedQuerySpacesNativeQuery<T> setFlushMode(FlushMode flushMode)
QuerysetFlushMode in interface BasicQueryContract<CommonQueryContract>setFlushMode in interface SQLQuery<T>flushMode - The new FlushMode to use.this, for method chainingQuery.getHibernateFlushMode()NativeQuery<T> setResultSetMapping(String name)
SQLQuery<result-set/> element in a
Hibernate hbm.xml file or through a SqlResultSetMapping annotation.setResultSetMapping in interface SQLQuery<T>name - The name of the mapping to use.<P> NativeQuery<T> setParameter(QueryParameter<P> parameter, P val)
QueryQuery.setParameter(QueryParameter, Object, Type)
should be used insteadsetParameter in interface SQLQuery<T>parameter - The query parameter mementoval - the possibly-null parameter valuethis, for method chaining<P> NativeQuery<T> setParameter(Parameter<P> param, P value)
setParameter in interface QuerysetParameter in interface SQLQuery<T>setParameter in interface TypedQuery<T><P> NativeQuery<T> setParameter(QueryParameter<P> parameter, P val, Type type)
QuerysetParameter in interface SQLQuery<T>parameter - The query parameter mementoval - the possibly-null parameter valuetype - the Hibernate typethis, for method chainingNativeQuery<T> setParameter(String name, Object val, Type type)
QuerysetParameter in interface SQLQuery<T>name - the name of the parameterval - the possibly-null parameter valuetype - the Hibernate typethis, for method chainingNativeQuery<T> setParameter(int position, Object val, Type type)
QuerysetParameter in interface SQLQuery<T>position - the position of the parameter in the query
string, numbered from 0.val - the possibly-null parameter valuetype - the Hibernate typethis, for method chaining<P> NativeQuery<T> setParameter(QueryParameter<P> parameter, P val, TemporalType temporalType)
QuerysetParameter in interface SQLQuery<T>parameter - The query parameter mementoval - the possibly-null parameter valuetemporalType - the temporal-type to use in binding the date/timethis, for method chainingNativeQuery<T> setParameter(String name, Object val, TemporalType temporalType)
QuerysetParameter in interface SQLQuery<T>name - the parameter nameval - the possibly-null parameter valuetemporalType - the temporal-type to use in binding the date/timethis, for method chainingNativeQuery<T> setParameter(int position, Object val, TemporalType temporalType)
QuerysetParameter in interface SQLQuery<T>position - the position of the parameter in the query
string, numbered from 0.val - the possibly-null parameter valuetemporalType - the temporal-type to use in binding the date/timethis, for method chainingNativeQuery<T> setParameter(Parameter<Calendar> param, Calendar value, TemporalType temporalType)
setParameter in interface QuerysetParameter in interface SQLQuery<T>setParameter in interface TypedQuery<T>NativeQuery<T> setParameter(Parameter<Date> param, Date value, TemporalType temporalType)
setParameter in interface QuerysetParameter in interface SQLQuery<T>setParameter in interface TypedQuery<T>NativeQuery<T> setParameter(String name, Object value)
QueryQuery.setParameter(String, Object, Type)
should be used insteadsetParameter in interface QuerysetParameter in interface SQLQuery<T>setParameter in interface TypedQuery<T>name - the parameter namevalue - the (possibly-null) parameter valuethis, for method chainingNativeQuery<T> setParameter(String name, Calendar value, TemporalType temporalType)
setParameter in interface QuerysetParameter in interface SQLQuery<T>setParameter in interface TypedQuery<T>NativeQuery<T> setParameter(String name, Date value, TemporalType temporalType)
setParameter in interface QuerysetParameter in interface SQLQuery<T>setParameter in interface TypedQuery<T>NativeQuery<T> setParameter(int position, Object value)
QueryQuery.setParameter(int, Object, Type)
should be used insteadsetParameter in interface QuerysetParameter in interface SQLQuery<T>setParameter in interface TypedQuery<T>position - the position of the parameter in the query
string, numbered from 0.value - the possibly-null parameter valuethis, for method chainingNativeQuery<T> setParameter(int position, Calendar value, TemporalType temporalType)
setParameter in interface QuerysetParameter in interface SQLQuery<T>setParameter in interface TypedQuery<T>NativeQuery<T> setParameter(int position, Date value, TemporalType temporalType)
setParameter in interface QuerysetParameter in interface SQLQuery<T>setParameter in interface TypedQuery<T>NativeQuery<T> setParameter(Parameter<Instant> param, Instant value, TemporalType temporalType)
NativeQuery<T> setParameter(Parameter<LocalDateTime> param, LocalDateTime value, TemporalType temporalType)
NativeQuery<T> setParameter(Parameter<ZonedDateTime> param, ZonedDateTime value, TemporalType temporalType)
NativeQuery<T> setParameter(Parameter<OffsetDateTime> param, OffsetDateTime value, TemporalType temporalType)
NativeQuery<T> setParameter(String name, Instant value, TemporalType temporalType)
NativeQuery<T> setParameter(String name, LocalDateTime value, TemporalType temporalType)
NativeQuery<T> setParameter(String name, ZonedDateTime value, TemporalType temporalType)
NativeQuery<T> setParameter(String name, OffsetDateTime value, TemporalType temporalType)
NativeQuery<T> setParameter(int position, Instant value, TemporalType temporalType)
NativeQuery<T> setParameter(int position, LocalDateTime value, TemporalType temporalType)
NativeQuery<T> setParameter(int position, ZonedDateTime value, TemporalType temporalType)
NativeQuery<T> setParameter(int position, OffsetDateTime value, TemporalType temporalType)
<P> NativeQuery<T> setParameterList(QueryParameter<P> parameter, Collection<P> values)
QuerysetParameterList in interface SQLQuery<T>parameter - the parameter mementovalues - a collection of values to listthis, for method chainingNativeQuery<T> setParameterList(String name, Collection values)
QuerysetParameterList in interface SQLQuery<T>name - the name of the parametervalues - a collection of values to listthis, for method chainingNativeQuery<T> setParameterList(String name, Collection values, Type type)
QuerysetParameterList in interface SQLQuery<T>name - the name of the parametervalues - a collection of values to listtype - the Hibernate type of the valuesthis, for method chainingNativeQuery<T> setParameterList(String name, Object[] values, Type type)
QuerysetParameterList in interface SQLQuery<T>name - the name of the parametervalues - a collection of values to listtype - the Hibernate type of the valuesthis, for method chainingNativeQuery<T> setParameterList(String name, Object[] values)
QuerysetParameterList in interface SQLQuery<T>name - the name of the parametervalues - a collection of values to listthis, for method chainingNativeQuery<T> setProperties(Object bean)
QuerysetProperties in interface SQLQuery<T>bean - any JavaBean or POJOthis, for method chainingNativeQuery<T> setProperties(Map bean)
QuerysetProperties in interface SQLQuery<T>bean - a java.util.Mapthis, for method chainingNativeQuery<T> addSynchronizedQuerySpace(String querySpace)
SynchronizeableQueryaddSynchronizedQuerySpace in interface SQLQuery<T>addSynchronizedQuerySpace in interface SynchronizeableQuery<T>querySpace - The query space to be auto-flushed for this query.this, for method chainingNativeQuery<T> addSynchronizedEntityName(String entityName) throws MappingException
SynchronizeableQuerySynchronizeableQuery.addSynchronizedQuerySpace(java.lang.String) for all tables associated with the given entity.addSynchronizedEntityName in interface SQLQuery<T>addSynchronizedEntityName in interface SynchronizeableQuery<T>entityName - The name of the entity upon whose defined query spaces we should additionally synchronize.this, for method chainingMappingException - Indicates the given name could not be resolved as an entityNativeQuery<T> addSynchronizedEntityClass(Class entityClass) throws MappingException
SynchronizeableQuerySynchronizeableQuery.addSynchronizedQuerySpace(java.lang.String) for all tables associated with the given entity.addSynchronizedEntityClass in interface SQLQuery<T>addSynchronizedEntityClass in interface SynchronizeableQuery<T>entityClass - The class of the entity upon whose defined query spaces we should additionally synchronize.this, for method chainingMappingException - Indicates the given class could not be resolved as an entityboolean isCallable()
SQLQueryisCallable in interface SQLQuery<T>true if the query is known to be callable; false otherwise.NativeQuery<T> addScalar(String columnAlias)
SQLQuery<return-scalar/> in hbm.xml or ColumnResultNativeQuery<T> addScalar(String columnAlias, Type type)
SQLQuerySQLQuery.RootReturn addRoot(String tableAlias, String entityName)
SQLQuerySQLQuery.RootReturn to allow further definition.SQLQuery.RootReturn addRoot(String tableAlias, Class entityType)
SQLQuerySQLQuery.RootReturn to allow further definition.NativeQuery<T> addEntity(String entityName)
SQLQuerySQLQuery.addRoot(java.lang.String, java.lang.String) if you need further control of the mappingNativeQuery<T> addEntity(String tableAlias, String entityName)
SQLQueryNativeQuery<T> addEntity(String tableAlias, String entityName, LockMode lockMode)
SQLQueryNativeQuery<T> addEntity(Class entityType)
SQLQueryNativeQuery<T> addEntity(String tableAlias, Class entityType)
SQLQueryNativeQuery<T> addEntity(String tableAlias, Class entityClass, LockMode lockMode)
SQLQuerySQLQuery.FetchReturn addFetch(String tableAlias, String ownerTableAlias, String joinPropertyName)
SQLQueryaddFetch in interface SQLQuery<T>tableAlias - The SQL table alias for the data to be mapped to this fetchownerTableAlias - Identify the table alias of the owner of this association. Should match the alias of a
previously added root or fetchjoinPropertyName - The name of the property being join fetched.NativeQuery<T> addJoin(String tableAlias, String path)
SQLQueryNativeQuery<T> addJoin(String tableAlias, String ownerTableAlias, String joinPropertyName)
SQLQueryaddJoin in interface SQLQuery<T>tableAlias - The SQL table alias for the data to be mapped to this fetchownerTableAlias - Identify the table alias of the owner of this association. Should match the alias of a
previously added root or fetchjoinPropertyName - The name of the property being join fetched.this, for method chainingNativeQuery<T> addJoin(String tableAlias, String path, LockMode lockMode)
SQLQueryNativeQuery<T> setHibernateFlushMode(FlushMode flushMode)
QuerysetHibernateFlushMode in interface BasicQueryContract<CommonQueryContract>setHibernateFlushMode in interface SQLQuery<T>flushMode - The new FlushMode to use.this, for method chainingQuery.getHibernateFlushMode()NativeQuery<T> setFlushMode(FlushModeType flushMode)
setFlushMode in interface QuerysetFlushMode in interface SQLQuery<T>setFlushMode in interface TypedQuery<T>NativeQuery<T> setCacheMode(CacheMode cacheMode)
QuerysetCacheMode in interface BasicQueryContract<CommonQueryContract>setCacheMode in interface SQLQuery<T>cacheMode - The new CacheMode to use.this, for method chainingQuery.getCacheMode()NativeQuery<T> setCacheable(boolean cacheable)
QuerysetCacheable in interface BasicQueryContract<CommonQueryContract>setCacheable in interface SQLQuery<T>cacheable - Should the query results be cacheable?this, for method chainingQuery.isCacheable()NativeQuery<T> setCacheRegion(String cacheRegion)
QuerysetCacheRegion in interface BasicQueryContract<CommonQueryContract>setCacheRegion in interface SQLQuery<T>cacheRegion - the name of a query cache region, or null to indicate that the default region
should be used.this, for method chainingQuery.getCacheRegion()NativeQuery<T> setTimeout(int timeout)
QuerysetTimeout in interface BasicQueryContract<CommonQueryContract>setTimeout in interface SQLQuery<T>timeout - the timeout in secondsthis, for method chainingQuery.getTimeout()NativeQuery<T> setFetchSize(int fetchSize)
QuerysetFetchSize in interface BasicQueryContract<CommonQueryContract>setFetchSize in interface SQLQuery<T>fetchSize - the fetch size hintthis, for method chainingQuery.getFetchSize()NativeQuery<T> setReadOnly(boolean readOnly)
QuerysetReadOnly in interface BasicQueryContract<CommonQueryContract>setReadOnly in interface SQLQuery<T>readOnly - true indicates that entities and proxies loaded by the query
are to be put in read-only mode; false indicates that entities and proxies
loaded by the query will be put in modifiable modethis, for method chainingTo set the default read-only/modifiable setting used for
entities and proxies that are loaded into the session:,
PersistenceContext.setDefaultReadOnly(boolean),
Read-only entities are not dirty-checked and snapshots of persistent
state are not maintained. Read-only entities can be modified, but
changes are not persisted.
When a proxy is initialized, the loaded entity will have the same
read-only/modifiable setting as the uninitialized
proxy has, regardless of the session's current setting.
The read-only/modifiable setting has no impact on entities/proxies
returned by the query that existed in the session before the query was executed.NativeQuery<T> setLockOptions(LockOptions lockOptions)
QueryQuery.setLockMode(String, LockMode).setLockOptions in interface SQLQuery<T>lockOptions - The lock options to apply to the query.this, for method chainingQuery.getLockOptions()NativeQuery<T> setLockMode(String alias, LockMode lockMode)
QueryLockOptions.
The effect of these alias-specific LockModes is somewhat dependent on the driver/database in use. Generally
speaking, for maximum portability, this method should only be used to mark that the rows corresponding to
the given alias should be included in pessimistic locking (LockMode.PESSIMISTIC_WRITE).setLockMode in interface SQLQuery<T>alias - a query alias, or "this" for a collection filterlockMode - The lock mode to apply.this, for method chainingQuery.getLockOptions()NativeQuery<T> setComment(String comment)
QuerysetComment in interface SQLQuery<T>comment - The human-readable commentthis, for method chainingQuery.getComment()NativeQuery<T> addQueryHint(String hint)
QueryQueryHint, which is specific
to the JPA implementation and ignores DB vendor-specific hints. Instead, these are intended solely for the
vendor-specific hints, such as Oracle's optimizers. Multiple query hints are supported; the Dialect will
determine concatenation and placement.addQueryHint in interface SQLQuery<T>hint - The database specific query hint to add.NativeQuery<T> setMaxResults(int maxResult)
setMaxResults in interface QuerysetMaxResults in interface TypedQuery<T>NativeQuery<T> setFirstResult(int startPosition)
setFirstResult in interface QuerysetFirstResult in interface TypedQuery<T>NativeQuery<T> setHint(String hintName, Object value)
setHint in interface QuerysetHint in interface TypedQuery<T>NativeQuery<T> setLockMode(LockModeType lockMode)
setLockMode in interface QuerysetLockMode in interface TypedQuery<T>Copyright © 2001-2022 Red Hat, Inc. All Rights Reserved.