HHH-15760 mass replace self-closing tags in javadoc

This commit is contained in:
Marco Belladelli 2022-11-25 15:49:22 +01:00 committed by Christian Beikov
parent f4b1e00ddf
commit f38dd28043
345 changed files with 761 additions and 761 deletions

View File

@ -92,7 +92,7 @@ public interface ValueGeneration {
/**
* Obtain the in-VM value generator.
* <p/>
* <p>
* May return {@code null}. In fact for values that are generated
* "in the database" via execution of the INSERT/UPDATE statement, the
* expectation is that {@code null} be returned here
@ -105,7 +105,7 @@ public interface ValueGeneration {
* For values which are generated in the database (i.e,
* {@link #getValueGenerator()} == {@code null}), should the column
* be referenced in the INSERT / UPDATE SQL?
* <p/>
* <p>
* This will be false most often to have a DDL-defined DEFAULT value
* be applied on INSERT
*
@ -119,9 +119,9 @@ public interface ValueGeneration {
* referenced in the SQL (i.e.,
* {@link #referenceColumnInSql()} == {@code true}), what value should be
* used in the SQL as the column value.
* <p/>
* <p>
* Generally this will be a function call or a marker (DEFAULTS).
* <p/>
* <p>
* NOTE : for in-VM generation, this will not be called and the column
* value will implicitly be a JDBC parameter ('?')
*

View File

@ -22,9 +22,9 @@ import org.apache.commons.lang3.StringUtils;
/**
* An example PhysicalNamingStrategy that implements database object naming standards
* for our fictitious company Acme Corp.
* <p/>
* <p>
* In general Acme Corp prefers underscore-delimited words rather than camel casing.
* <p/>
* <p>
* Additionally standards call for the replacement of certain words with abbreviations.
*
* @author Steve Ebersole

View File

@ -24,7 +24,7 @@ import static org.jboss.logging.Logger.Level.WARN;
/**
* The jboss-logging {@link MessageLogger} for the hibernate-c3p0 module. It reserves message ids ranging from
* 10001 to 15000 inclusively.
* <p/>
* <p>
* New messages must be added after the last message defined to ensure message codes are unique.
*/
@MessageLogger(projectCode = "HHH")

View File

@ -38,30 +38,30 @@ package org.hibernate.community.dialect;
* The following steps assume that the directory where Cach&eacute; was installed is C:\CacheSys.
* This is the default installation directory for Cach&eacute;.
* The default installation directory for Hibernate is assumed to be C:\Hibernate.
* <p/>
* <p>
* If either product is installed in a different location, the pathnames that follow should be modified appropriately.
* <p/>
* <p>
* Cach&eacute; version 2007.1 and above is recommended for use with
* Hibernate. The next step depends on the location of your
* CacheDB.jar depending on your version of Cach&eacute;.
* <ol>
* <li>Copy C:\CacheSys\dev\java\lib\JDK15\CacheDB.jar to C:\Hibernate\lib\CacheDB.jar.</li>
* <p/>
* <p>
* <li>Insert the following files into your Java classpath:
* <p/>
* <p>
* <ul>
* <li>All jar files in the directory C:\Hibernate\lib</li>
* <li>The directory (or directories) where hibernate.properties and/or hibernate.cfg.xml are kept.</li>
* </ul>
* </li>
* <p/>
* <p>
* <li>In the file, hibernate.properties (or hibernate.cfg.xml),
* specify the Cach&eacute; dialect and the Cach&eacute; version URL settings.</li>
* </ol>
* <p/>
* <p>
* For example, in Hibernate 3.2, typical entries in hibernate.properties would have the following
* "name=value" pairs:
* <p/>
* <p>
* <table cols=3 border="" cellpadding=5 cellspacing=0>
* <tr>
* <th>Property Name</th>
@ -88,7 +88,7 @@ package org.hibernate.community.dialect;
* <td>jdbc:Cache://127.0.0.1:1972/USER</td>
* </tr>
* </table>
* <p/>
* <p>
* <b>NOTE:</b> Please contact your administrator for the userid and password you should use when
* attempting access via JDBC. By default, these are chosen to be "_SYSTEM" and "SYS" respectively
* as noted in the SQL standard.
@ -102,11 +102,11 @@ package org.hibernate.community.dialect;
* <h2>CACH&Eacute; DIALECTS</h2>
* Choices for Dialect are:
* <br>
* <p/>
* <p>
* <ol>
* <li>org.hibernate.community.dialect.Cache71Dialect (requires Cach&eacute;
* 2007.1 or above)</li>
* <p/>
* <p>
* </ol>
* <br>
* <h2>SUPPORT FOR IDENTITY COLUMNS</h2>
@ -115,7 +115,7 @@ package org.hibernate.community.dialect;
* generator.
* <br>
* <h2>SEQUENCE DIALECTS SUPPORT SEQUENCES</h2>
* <p/>
* <p>
* To use Hibernate sequence support with Cach&eacute; in a namespace, you must FIRST load the following file into that namespace:
* <pre>
* etc\CacheSequences.xml
@ -134,7 +134,7 @@ package org.hibernate.community.dialect;
* &lt;/id&gt;
* </pre>
* <br>
* <p/>
* <p>
* Some versions of Hibernate under some circumstances call
* getSelectSequenceNextValString() in the dialect. If this happens
* you will receive the error message: new MappingException( "Dialect
@ -142,7 +142,7 @@ package org.hibernate.community.dialect;
* <br>
* <h2>HIBERNATE FILES ASSOCIATED WITH CACH&Eacute; DIALECT</h2>
* The following files are associated with Cach&eacute; dialect:
* <p/>
* <p>
* <ol>
* <li>src\org\hibernate\dialect\Cache71Dialect.java</li>
* <li>src\org\hibernate\dialect\function\ConditionalParenthesisFunction.java</li>

View File

@ -652,7 +652,7 @@ public class HSQLLegacyDialect extends Dialect {
* be treated as a callable statement. It is equivalent to
* "select current_timestamp from dual" in some databases.
* HSQLDB 2.0 also supports VALUES CURRENT_TIMESTAMP
* <p/>
* <p>
* {@inheritDoc}
*/
@Override
@ -673,7 +673,7 @@ public class HSQLLegacyDialect extends Dialect {
/**
* For HSQLDB 2.0, this is a copy of the base class implementation.
* For HSQLDB 1.8, only READ_UNCOMMITTED is supported.
* <p/>
* <p>
* {@inheritDoc}
*/
@Override

View File

@ -313,7 +313,7 @@ public class InformixDialect extends Dialect {
/**
* Informix constraint name must be at the end.
* <p/>
* <p>
* {@inheritDoc}
*/
@Override
@ -350,7 +350,7 @@ public class InformixDialect extends Dialect {
/**
* Informix constraint name must be at the end.
* <p/>
* <p>
* {@inheritDoc}
*/
@Override

View File

@ -10,7 +10,7 @@ import org.hibernate.dialect.DatabaseVersion;
/**
* A SQL dialect for Ingres 10 and later versions.
* <p/>
* <p>
* Changes:
* <ul>
* <li>Add native BOOLEAN type support</li>

View File

@ -10,7 +10,7 @@ import org.hibernate.dialect.DatabaseVersion;
/**
* A SQL dialect for Ingres 9.3 and later versions.
* <p/>
* <p>
* Changes:
* <ul>
* <li>Support for the SQL functions current_time, current_timestamp and current_date added</li>

View File

@ -76,7 +76,7 @@ import static org.hibernate.type.SqlTypes.VARBINARY;
/**
* An SQL dialect for Ingres 9.2.
* <p/>
* <p>
* Known limitations: <ul>
* <li>
* Only supports simple constants or columns on the left side of an IN,

View File

@ -71,7 +71,7 @@ import static org.hibernate.type.SqlTypes.VARCHAR;
* This is the Hibernate dialect for the Unisys 2200 Relational Database (RDMS).
* This dialect was developed for use with Hibernate 3.0.5. Other versions may
* require modifications to the dialect.
* <p/>
* <p>
* Version History:
* Also change the version displayed below in the constructor
* 1.1
@ -312,7 +312,7 @@ public class RDMSOS2200Dialect extends Dialect {
/**
* RDMS does not support qualifing index names with the schema name.
* <p/>
* <p>
* {@inheritDoc}
*/
@Override
@ -336,7 +336,7 @@ public class RDMSOS2200Dialect extends Dialect {
/**
* RDMS does not support Cascade Deletes.
* Need to review this in the future when support is provided.
* <p/>
* <p>
* {@inheritDoc}
*/
@Override
@ -347,7 +347,7 @@ public class RDMSOS2200Dialect extends Dialect {
/**
* Currently, RDMS-JDBC does not support ForUpdate.
* Need to review this in the future when support is provided.
* <p/>
* <p>
* {@inheritDoc}
*/
@Override

View File

@ -507,7 +507,7 @@ public class SQLServerLegacyDialect extends AbstractTransactSQLDialect {
/**
* The current_timestamp is more accurate, but only known to be supported in SQL Server 7.0 and later and
* Sybase not known to support it at all
* <p/>
* <p>
* {@inheritDoc}
*/
@Override

View File

@ -126,7 +126,7 @@ public class SybaseAnywhereDialect extends SybaseDialect {
/**
* Sybase Anywhere syntax would require a "DEFAULT" for each column specified,
* but I suppose Hibernate use this syntax only with tables with just 1 column
* <p/>
* <p>
* {@inheritDoc}
*/
@Override
@ -136,10 +136,10 @@ public class SybaseAnywhereDialect extends SybaseDialect {
/**
* ASA does not require to drop constraint before dropping tables, so disable it.
* <p/>
* <p>
* NOTE : Also, the DROP statement syntax used by Hibernate to drop constraints is
* not compatible with ASA.
* <p/>
* <p>
* {@inheritDoc}
*/
@Override

View File

@ -52,7 +52,7 @@ import static org.hibernate.query.sqm.produce.function.FunctionParameterType.STR
/**
* A SQL dialect for TimesTen 5.1.
* <p/>
* <p>
* Known limitations:
* joined-subclass support because of no CASE support in TimesTen
* No support for subqueries that includes aggregation

View File

@ -8,7 +8,7 @@ package org.hibernate;
/**
* Intended to be thrown from {@link org.hibernate.classic.Lifecycle} and {@link Interceptor} callbacks.
* <p/>
* <p>
* IMPL NOTE : This is a legacy exception type from back in the day before Hibernate moved to a untyped (runtime)
* exception strategy.
*

View File

@ -36,7 +36,7 @@ public enum ConnectionReleaseMode{
* Indicates that JDBC connections should be released after each transaction
* ends (works with both JTA-registered synch and HibernateTransaction API).
* This mode may not be used with an application server JTA datasource.
* <p/>
* <p>
* This is the default mode starting in 3.1; was previously {@link #ON_CLOSE}.
*/
AFTER_TRANSACTION,

View File

@ -12,7 +12,7 @@ import org.hibernate.type.Type;
/**
* During a flush cycle, Hibernate needs to determine which of the entities associated with a {@link Session}
* are <em>dirty</em>, meaning modified. Dirty entities will be {@literal UPDATE}ed in the database.
* <p/>
* <p>
* In some circumstances, the process of determining whether an entity is dirty can carry a significant overhead,
* since, by default, Hibernate must check each of the entity's attribute values one by one. Sometimes, an
* application already has knowledge of an entity's dirtiness and making use of that information would save some
@ -118,7 +118,7 @@ public interface CustomEntityDirtinessStrategy {
/**
* Many of Hibernate internals use arrays to define information about attributes. This value
* provides this index into those arrays for this particular attribute.
* <p/>
* <p>
* It can be useful if needing to leverage those Hibernate internals.
*
* @return The attribute index.
@ -148,7 +148,7 @@ public interface CustomEntityDirtinessStrategy {
/**
* Get the loaded value of this attribute.
* <p/>
* <p>
* <b>NOTE : A call to this method may require hitting the database in cases where the loaded state is
* not known. In those cases the db hit is incurred only once per entity, not for each attribute.</b>
*

View File

@ -10,7 +10,7 @@ import jakarta.persistence.PersistenceException;
/**
* The base exception type for Hibernate exceptions.
* <p/>
* <p>
* Note that all {@link java.sql.SQLException SQLExceptions} will be wrapped in some form of
* {@link JDBCException}.
*

View File

@ -22,7 +22,7 @@ import static java.lang.annotation.RetentionPolicy.RUNTIME;
* recursively. Incubating indicates something that is still being
* actively developed and therefore may change at a later time; a
* "tech preview".
* <p/>
* <p>
* Users of these types and methods are considered early adopters who
* help shape the final definition of these types/methods, along with
* the needs of consumers.

View File

@ -47,7 +47,7 @@ public interface Interceptor {
* Called just before an object is initialized. The interceptor may change the {@code state}, which will
* be propagated to the persistent object. Note that when this method is called, {@code entity} will be
* an empty uninitialized instance of the class.
* <p/>
* <p>
* NOTE: The indexes across the {@code state}, {@code propertyNames} and {@code types} arrays match.
*
* @param entity The entity instance being loaded
@ -72,7 +72,7 @@ public interface Interceptor {
* Called just before an object is initialized. The interceptor may change the {@code state}, which will
* be propagated to the persistent object. Note that when this method is called, {@code entity} will be
* an empty uninitialized instance of the class.
* <p/>
* <p>
* NOTE: The indexes across the {@code state}, {@code propertyNames} and {@code types} arrays match.
*
* @param entity The entity instance being loaded
@ -99,7 +99,7 @@ public interface Interceptor {
* Note that not all flushes end in actual synchronization with the database, in which case the
* new {@code currentState} will be propagated to the object, but not necessarily (immediately) to
* the database. It is strongly recommended that the interceptor <b>not</b> modify the {@code previousState}.
* <p/>
* <p>
* NOTE: The indexes across the {@code currentState}, {@code previousState}, {@code propertyNames} and
* {@code types} arrays match.
*
@ -133,7 +133,7 @@ public interface Interceptor {
* Note that not all flushes end in actual synchronization with the database, in which case the
* new {@code currentState} will be propagated to the object, but not necessarily (immediately) to
* the database. It is strongly recommended that the interceptor <b>not</b> modify the {@code previousState}.
* <p/>
* <p>
* NOTE: The indexes across the {@code currentState}, {@code previousState}, {@code propertyNames} and
* {@code types} arrays match.
*

View File

@ -47,7 +47,7 @@ public interface MultiIdentifierLoadAccess<T> {
* to use a batch sizing strategy defined by the Dialect in use. Any greater-than-one
* value here will override that default behavior. If giving an explicit value here,
* care should be taken to not exceed the capabilities of of the underlying database.
* <p/>
* <p>
* Note that overall a batch-size is considered a hint. How the underlying loading
* mechanism interprets that is completely up to that underlying loading mechanism.
*
@ -87,7 +87,7 @@ public interface MultiIdentifierLoadAccess<T> {
* incoming ids? If enabled (the default), the return List is ordered and
* positional relative to the incoming ids. In other words, a request to
* {@code multiLoad([2,1,3])} will return {@code [Entity#2, Entity#1, Entity#3]}.
* <p/>
* <p>
* An important distinction is made here in regards to the handling of
* unknown entities depending on this "ordered return" setting. If enabled
* a null is inserted into the List at the proper position(s). If disabled,

View File

@ -53,7 +53,7 @@ public interface NaturalIdLoadAccess<T> {
/**
* For entities with mutable natural ids, should Hibernate perform "synchronization" prior to performing
* lookups? The default is to perform "synchronization" (for correctness).
* <p/>
* <p>
* "synchronization" here indicates updating the natural-id -> pk cross reference maintained as part of the
* session. When enabled, prior to performing the lookup, Hibernate will check all entities of the given
* type associated with the session to see if its natural-id values have changed and, if so, update the

View File

@ -53,7 +53,7 @@ public interface NaturalIdMultiLoadAccess<T> {
* to use a batch sizing strategy defined by the Dialect in use. Any greater-than-one
* value here will override that default behavior. If giving an explicit value here,
* care should be taken to not exceed the capabilities of the underlying database.
* <p/>
* <p>
* Note that overall a batch-size is considered a hint.
*
* @param batchSize The batch size
@ -81,7 +81,7 @@ public interface NaturalIdMultiLoadAccess<T> {
* incoming ids? If enabled (the default), the return List is ordered and
* positional relative to the incoming ids. In other words, a request to
* {@code multiLoad([2,1,3])} will return {@code [Entity#2, Entity#1, Entity#3]}.
* <p/>
* <p>
* An important distinction is made here in regards to the handling of
* unknown entities depending on this "ordered return" setting. If enabled
* a null is inserted into the List at the proper position(s). If disabled,

View File

@ -106,7 +106,7 @@ public class QueryException extends HibernateException {
/**
* Called from {@link #wrapWithQueryString(String)} when we really need to generate a new QueryException
* (or subclass).
* <p/>
* <p>
* NOTE : implementors should take care to use {@link #getOriginalMessage()} for the message, not
* {@link #getMessage()}
*

View File

@ -256,7 +256,7 @@ public interface Session extends SharedSessionContract, EntityManager {
/**
* Cancel the execution of the current query.
* <p/>
* <p>
* This is the sole method on session which may be safely called from
* another thread.
*
@ -369,7 +369,7 @@ public interface Session extends SharedSessionContract, EntityManager {
/**
* Return the persistent instance of the given entity class with the given identifier,
* obtaining the specified lock mode, assuming the instance exists.
* <p/>
* <p>
* Convenient form of {@link #load(Class, Object, LockOptions)}.
*
* @param theClass a persistent class
@ -402,7 +402,7 @@ public interface Session extends SharedSessionContract, EntityManager {
/**
* Return the persistent instance of the given entity class with the given identifier,
* obtaining the specified lock mode, assuming the instance exists.
* <p/>
* <p>
* Convenient form of {@link #load(String, Object, LockOptions)}.
*
* @param entityName the entity name
@ -548,7 +548,7 @@ public interface Session extends SharedSessionContract, EntityManager {
* Either {@link #save(Object)} or {@link #update(Object)} the given
* instance, depending upon resolution of the unsaved-value checks (see the
* manual for discussion of unsaved-value checking).
* <p/>
* <p>
* This operation cascades to associated instances if the association is mapped
* with {@link org.hibernate.annotations.CascadeType#SAVE_UPDATE}.
*
@ -566,7 +566,7 @@ public interface Session extends SharedSessionContract, EntityManager {
* Either {@link #save(String, Object)} or {@link #update(String, Object)}
* the given instance, depending upon resolution of the unsaved-value checks
* (see the manual for discussion of unsaved-value checking).
* <p/>
* <p>
* This operation cascades to associated instances if the association is mapped
* with {@link org.hibernate.annotations.CascadeType#SAVE_UPDATE}.
*
@ -957,7 +957,7 @@ public interface Session extends SharedSessionContract, EntityManager {
* or null if there is no such persistent instance. If the instance is already associated
* with the session, return that instance. This method never returns an uninitialized
* instance. Obtain the specified lock mode if the instance exists.
* <p/>
* <p>
* Convenient form of {@link #get(String, Object, LockOptions)}
*
* @param entityName the entity name

View File

@ -36,11 +36,11 @@ public interface SessionBuilder<T extends SessionBuilder> {
/**
* Signifies that no {@link Interceptor} should be used.
* <p/>
* <p>
* By default, if no {@code Interceptor} is explicitly specified, the
* {@code Interceptor} associated with the {@link SessionFactory} is
* inherited by the new {@link Session}.
* <p/>
* <p>
* Calling {@link #interceptor(Interceptor)} with null has the same effect.
*
* @return {@code this}, for method chaining

View File

@ -112,7 +112,7 @@ public interface SessionFactory extends EntityManagerFactory, Referenceable, Ser
/**
* Open a {@link Session}.
* <p/>
* <p>
* Any JDBC {@link Connection connection} will be obtained lazily from the
* {@link org.hibernate.engine.jdbc.connections.spi.ConnectionProvider}
* as needed to perform requested work.
@ -285,11 +285,11 @@ public interface SessionFactory extends EntityManagerFactory, Referenceable, Ser
/**
* Destroy this {@code SessionFactory} and release all its resources,
* including caches and connection pools.
* <p/>
* <p>
* It is the responsibility of the application to ensure that there are
* no open {@linkplain Session sessions} before calling this method as
* the impact on those {@linkplain Session sessions} is indeterminate.
* <p/>
* <p>
* No-ops if already {@linkplain #isClosed() closed}.
*
* @throws HibernateException Indicates an issue closing the factory.

View File

@ -32,7 +32,7 @@ public interface SessionFactoryObserver extends Serializable {
/**
* Callback to indicate that the given factory is about to close. The passed factory
* reference should be usable since it is only about to close.
* <p/>
* <p>
* NOTE : defined as default to allow for existing SessionFactoryObserver impls to work
* in 5.2. Starting in 6.0 the default will be removed and SessionFactoryObserver impls
* will be required to implement this new method.

View File

@ -30,7 +30,7 @@ public interface SimpleNaturalIdLoadAccess<T> {
/**
* For entities with mutable natural ids, should Hibernate perform "synchronization" prior to performing
* lookups? The default is to perform "synchronization" (for correctness).
* <p/>
* <p>
* See {@link NaturalIdLoadAccess#setSynchronizationEnabled} for detailed discussion.
*
* @param enabled Should synchronization be performed? {@code true} indicates synchronization will be performed;

View File

@ -8,7 +8,7 @@ package org.hibernate;
/**
* Indicates an attempt was made to refer to an unknown entity name/class.
* <p/>
* <p>
* NOTE : extends MappingException because that's what core used to do and that's how
* HEM expects it. Longer term I think it makes more sense to have a different
* hierarchy for runtime-"mapping" exceptions.

View File

@ -105,7 +105,7 @@ public abstract class AbstractEntityInsertAction extends EntityAction {
* maintained by this action. References to transient entities
* should be nullified when an entity is made "managed" or when this
* action is executed, whichever is first.
* <p/>
* <p>
* References will only be nullified the first time this method is
* called for a this object, so it can safely be called both when
* the entity is made "managed" and when this action is executed.

View File

@ -37,7 +37,7 @@ import org.hibernate.sql.ast.tree.insert.InsertStatement;
/**
* An {@link org.hibernate.engine.spi.ActionQueue} {@link Executable} for
* ensuring shared cache cleanup in relation to performed bulk HQL queries.
* <p/>
* <p>
* NOTE: currently this executes for {@code INSERT} queries as well as
* {@code UPDATE} and {@code DELETE} queries. For {@code INSERT} it is
* really not needed as we'd have no invalid entity/collection data to

View File

@ -14,7 +14,7 @@ import java.util.concurrent.atomic.AtomicLong;
* generated on insert (like an IDENTITY column) where the insert needed to
* be delayed because we were outside a transaction when the persist operation
* was called (save currently still performs the insert).
* <p/>
* <p>
* The stand-in is only used within the {@link org.hibernate.engine.spi.PersistenceContext}
* in order to distinguish one instance from another; it is never injected into
* the entity instance or returned to the client.

View File

@ -18,7 +18,7 @@ import static java.lang.annotation.RetentionPolicy.RUNTIME;
/**
* Names a persistent property access strategy ({@link PropertyAccessStrategy}) to use.
* <p/>
* <p>
* Can be specified at either:<ul>
* <li>
* <strong>TYPE</strong> level, which will act as the default accessor strategy for
@ -28,7 +28,7 @@ import static java.lang.annotation.RetentionPolicy.RUNTIME;
* <strong>METHOD/FIELD</strong> level, which will be in effect for just that attribute.
* </li>
* </ul>
* <p/>
* <p>
* Should only be used to name custom {@link PropertyAccessStrategy}. For
* {@code property/field} access, the JPA {@link jakarta.persistence.Access} annotation should be preferred
* using the appropriate {@link jakarta.persistence.AccessType}. However, if this annotation is used with

View File

@ -18,7 +18,7 @@ import static java.lang.annotation.RetentionPolicy.RUNTIME;
/**
* Can be used to map a {@link java.util.List}-valued attribute using
* {@link org.hibernate.metamodel.CollectionClassification#BAG} semantics.
* <p/>
* <p>
* @apiNote Ignored if either {@link jakarta.persistence.OrderColumn} or
* {@link ListIndexBase} is used.
*

View File

@ -20,7 +20,7 @@ import static java.lang.annotation.RetentionPolicy.RUNTIME;
/**
* Registers a custom composite user type implementation to be used
* for all references to a particular {@link jakarta.persistence.Embeddable}.
* <p/>
* <p>
* May be overridden for a specific embedded using {@link org.hibernate.annotations.CompositeType}
*/
@Target( {TYPE, ANNOTATION_TYPE, PACKAGE} )

View File

@ -39,10 +39,10 @@ public @interface ConverterRegistration {
* The domain type to which this converter should be applied. This allows
* refining the domain type associated with the converter e.g. to apply to
* a subtype.
* <p/>
* <p>
* With {@link #autoApply()} set to true, this will effectively override converters
* defined with {@link Converter#autoApply()} set to {@code false} and auto-apply them.
* <p/>
* <p>
* With {@link #autoApply()} set to false, this will effectively override converters
* defined with {@link Converter#autoApply()} set to {@code true} and disable auto-apply
* for them.
@ -52,7 +52,7 @@ public @interface ConverterRegistration {
/**
* Should the registered converter be auto applied for
* converting values of its reported domain type?
* <p/>
* <p>
* Defaults to true as that is the more common use case for this annotation.
*/
boolean autoApply() default true;

View File

@ -20,7 +20,7 @@ import static java.lang.annotation.RetentionPolicy.RUNTIME;
/**
* Registers a custom instantiator implementation to be used
* for all references to a particular {@link jakarta.persistence.Embeddable}.
* <p/>
* <p>
* May be overridden for a specific embedded using {@link org.hibernate.annotations.EmbeddableInstantiator}
*/
@Target( {TYPE, ANNOTATION_TYPE, PACKAGE} )

View File

@ -18,7 +18,7 @@ import static java.lang.annotation.RetentionPolicy.RUNTIME;
/**
* Generator annotation describing any kind of Hibernate generator in a
* generic (de-typed) manner.
* <p/>
* <p>
* For a more type-safe way to specify generators in annotations, see
* {@link IdGeneratorType}
*

View File

@ -38,7 +38,7 @@ import static java.lang.annotation.RetentionPolicy.RUNTIME;
*
* Resolved as a {@link org.hibernate.resource.beans.spi.ManagedBean}
*
* See <a href="package-summary.html#basic-value-mapping"/> for high-level discussion
* See <a href="package-summary.html#basic-value-mapping">basic-value-mapping</a> for high-level discussion
* of basic value mapping.
*
* @see MapKeyJavaType

View File

@ -19,10 +19,10 @@ import static java.lang.annotation.RetentionPolicy.RUNTIME;
/**
* Registers the BasicJavaType to use for the given {@link #javaType}
* <p/>
* <p>
* Registrations applied to a package are processed before Hibernate begins to process
* any attributes, etc.
* <p/>
* <p>
* Registrations applied to a class are only applied once Hibernate begins to process
* that class; it will also affect all future processing. However, it will not change
* previous resolutions to use this newly registered one. Because of this randomness

View File

@ -39,7 +39,7 @@ import static java.lang.annotation.RetentionPolicy.RUNTIME;
*
* Resolved as a {@link org.hibernate.resource.beans.spi.ManagedBean}
*
* See <a href="package-summary.html#basic-value-mapping"/> for high-level discussion
* See <a href="package-summary.html#basic-value-mapping">basic-value-mapping</a> for high-level discussion
* of basic value mapping.
*
* @see MapKeyJdbcType

View File

@ -39,12 +39,12 @@ import static java.lang.annotation.RetentionPolicy.RUNTIME;
* value.
* </li>
* </ul>
* <p/>
* <p>
* This code is generally as one of the values defined in {@link java.sql.Types}, but are not
* limited to these. The code is resolved against an internal registry of {@link JdbcType}
* references. See the user guide for additional details.
* <p/>
* See <a href="package-summary.html#basic-value-mapping"/> for high-level discussion
* <p>
* See <a href="package-summary.html#basic-value-mapping">basic-value-mapping</a> for high-level discussion
* of basic value mapping.
*
* @see JdbcType

View File

@ -19,10 +19,10 @@ import static java.lang.annotation.RetentionPolicy.RUNTIME;
/**
* Describes a SqlTypeDescriptor to be added to the {@link JdbcTypeRegistry}
* <p/>
* <p>
* Registrations applied to a package are processed before Hibernate begins to process
* any attributes, etc.
* <p/>
* <p>
* Registrations applied to a class are only applied once Hibernate begins to process
* that class; it will also affect all future processing. However, it will not change
* previous resolutions to use this newly registered one. Because of this randomness

View File

@ -47,7 +47,7 @@ import static java.lang.annotation.RetentionPolicy.RUNTIME;
*
* Resolved as a {@link org.hibernate.resource.beans.spi.ManagedBean}.
*
* See <a href="package-summary.html#basic-value-mapping"/> for a
* See <a href="package-summary.html#basic-value-mapping">basic-value-mapping</a> for a
* high-level discussion of basic value mapping.
*
* @apiNote Valid on {@link ElementType#TYPE} in very limited cases.

View File

@ -13,7 +13,7 @@ import static java.lang.annotation.RetentionPolicy.RUNTIME;
/**
* Details about a parameter declared in a {@link FilterDef}.
* <p/>
* <p>
* Mainly used to support cases where the proper {@link #type type}
* cannot be deduced by Hibernate.
*
@ -32,10 +32,10 @@ public @interface ParamDef {
/**
* The type to use when binding the parameter value.
* <p/>
* <p>
* Generally deduced from the bind value. Allows to
* specify a specific type to use.
* <p/>
* <p>
* The supplied Class can be one of the following:<ul>
* <li>
* a {@link org.hibernate.usertype.UserType}

View File

@ -39,7 +39,7 @@ import jakarta.persistence.SharedCacheMode;
public interface MetadataBuilder {
/**
* Specify the implicit catalog name to apply to any unqualified database names.
* <p/>
* <p>
* Its default is defined by the {@value org.hibernate.cfg.AvailableSettings#DEFAULT_CATALOG}
* setting if using property-based configuration.
*
@ -53,7 +53,7 @@ public interface MetadataBuilder {
/**
* Specify the implicit schema name to apply to any unqualified database names.
* <p/>
* <p>
* Its default is defined by the {@value org.hibernate.cfg.AvailableSettings#DEFAULT_SCHEMA}
* setting if using property-based configuration.
*
@ -67,7 +67,7 @@ public interface MetadataBuilder {
/**
* Specify the {@link ImplicitNamingStrategy}.
* <p/>
* <p>
* Its default is defined by the {@value org.hibernate.cfg.AvailableSettings#IMPLICIT_NAMING_STRATEGY}
* setting if using property-based configuration.
*
@ -81,7 +81,7 @@ public interface MetadataBuilder {
/**
* Specify the {@link PhysicalNamingStrategy}.
* <p/>
* <p>
* Its default is defined by the {@value org.hibernate.cfg.AvailableSettings#PHYSICAL_NAMING_STRATEGY}
* setting if using property-based configuration.
*
@ -95,7 +95,7 @@ public interface MetadataBuilder {
/**
* Specify the second-level cache mode.
* <p/>
* <p>
* Its default is defined by the {@code javax.persistence.sharedCache.mode} setting if using
* property-based configuration.
*
@ -110,7 +110,7 @@ public interface MetadataBuilder {
/**
* Specify the second-level access-type to be used by default for entities and collections that define second-level
* caching, but do not specify a granular access-type.
* <p/>
* <p>
* Its default is defined by the {@value org.hibernate.cfg.AvailableSettings#DEFAULT_CACHE_CONCURRENCY_STRATEGY}
* setting if using property-based configuration.
*
@ -125,11 +125,11 @@ public interface MetadataBuilder {
/**
* Allows specifying a specific Jandex index to use for reading annotation information.
* <p/>
* <p>
* It is <i>important</i> to understand that if a Jandex index is passed in, it is expected that
* this Jandex index already contains all entries for all classes. No additional indexing will be
* done in this case.
* <p/>
* <p>
* NOTE : Here for future expansion. At the moment the passed Jandex index is not used.
*
* @param jandexView The Jandex index to use.
@ -160,7 +160,7 @@ public interface MetadataBuilder {
/**
* Specify a particular Scanner instance to use.
* <p/>
* <p>
* Its default is defined by the {@value org.hibernate.cfg.AvailableSettings#SCANNER}
* setting if using property-based configuration.
*
@ -174,7 +174,7 @@ public interface MetadataBuilder {
/**
* Specify a particular ArchiveDescriptorFactory instance to use in scanning.
* <p/>
* <p>
* Its default is defined by the {@value org.hibernate.cfg.AvailableSettings#SCANNER_ARCHIVE_INTERPRETER}
* setting if using property-based configuration.
*
@ -196,7 +196,7 @@ public interface MetadataBuilder {
* joined inheritance. However, for portability reasons we do now allow using
* explicit discriminators along with joined inheritance. It is configurable
* though to support legacy apps.
* <p/>
* <p>
* Its default is defined by the {@value org.hibernate.cfg.AvailableSettings#IGNORE_EXPLICIT_DISCRIMINATOR_COLUMNS_FOR_JOINED_SUBCLASS}
* setting if using property-based configuration.
*
@ -215,10 +215,10 @@ public interface MetadataBuilder {
* defined discriminator annotations? If enabled, we will handle joined
* inheritance with no explicit discriminator annotations by implicitly
* creating one (following the JPA implicit naming rules).
* <p/>
* <p>
* Again the premise here is JPA portability, bearing in mind that some
* JPA provider need these discriminators.
* <p/>
* <p>
* Its default is defined by the {@value org.hibernate.cfg.AvailableSettings#IMPLICIT_DISCRIMINATOR_COLUMNS_FOR_JOINED_SUBCLASS}
* setting if using property-based configuration.
*
@ -234,7 +234,7 @@ public interface MetadataBuilder {
/**
* For entities which do not explicitly say, should we force discriminators into
* SQL selects? The (historical) default is {@code false}
* <p/>
* <p>
* Its default is defined by the {@value org.hibernate.cfg.AvailableSettings#FORCE_DISCRIMINATOR_IN_SELECTS_BY_DEFAULT}
* setting if using property-based configuration.
*
@ -250,7 +250,7 @@ public interface MetadataBuilder {
/**
* Should nationalized variants of character data be used in the database types? For example, should
* {@code NVARCHAR} be used instead of {@code VARCHAR}? {@code NCLOB} instead of {@code CLOB}?
* <p/>
* <p>
* Its default is defined by the {@value org.hibernate.cfg.AvailableSettings#USE_NATIONALIZED_CHARACTER_DATA}
* setting if using property-based configuration.
*
@ -314,7 +314,7 @@ public interface MetadataBuilder {
/**
* Apply a ClassLoader for use while building the Metadata.
* <p/>
* <p>
* Ideally we should avoid accessing ClassLoaders when perform 1st phase of bootstrap. This
* is a ClassLoader that can be used in cases when we have to. IN EE managed environments, this
* is the ClassLoader mandated by
@ -333,7 +333,7 @@ public interface MetadataBuilder {
* Apply a specific ordering to the processing of sources. Note that unlike most
* of the methods on this contract that deal with multiple values internally, this
* one *replaces* any already set (its more a setter) instead of adding to.
* <p/>
* <p>
* Its default is defined by the {@value org.hibernate.cfg.AvailableSettings#ARTIFACT_PROCESSING_ORDER}
* setting if using property-based configuration.
*

View File

@ -449,7 +449,7 @@ public class MetadataSources implements Serializable {
/**
* <b>INTENDED FOR TESTSUITE USE ONLY!</b>
* <p/>
* <p>
* Much like {@link #addCacheableFile(File)} except that here we will fail
* immediately if the cache version cannot be found or used for whatever reason.
*
@ -469,7 +469,7 @@ public class MetadataSources implements Serializable {
/**
* <b>INTENDED FOR TESTSUITE USE ONLY!</b>
* <p/>
* <p>
* Much like {@link #addCacheableFile(File)} except that here we will fail
* immediately if the cache version cannot be found or used for whatever reason.
*
@ -531,7 +531,7 @@ public class MetadataSources implements Serializable {
/**
* Read all {@code .hbm.xml} mappings from a jar file.
* <p/>
* <p>
* Assumes that any file named {@code *.hbm.xml} is a mapping document.
* This method does not support {@code orm.xml} files!
*
@ -557,7 +557,7 @@ public class MetadataSources implements Serializable {
/**
* Read all {@code .hbm.xml} mapping documents from a directory tree.
* <p/>
* <p>
* Assumes that any file named {@code *.hbm.xml} is a mapping document.
* This method does not support {@code orm.xml} files!
*

View File

@ -460,7 +460,7 @@ public interface SessionFactoryBuilder {
* if that data already exists. For some caches (mainly distributed caches) this can have a
* major adverse performance impact. For these caches, it is best to enable this "minimal puts"
* feature.
* <p/>
* <p>
* Cache integrations also report whether "minimal puts" should be enabled by default. So it's
* very rare that users need to set this, generally speaking.
*
@ -511,7 +511,7 @@ public interface SessionFactoryBuilder {
* it is expected that both sides of the association are managed (actually that is true of
* all bidirectional associations). However, in this case, if the user forgets to manage the
* one-to-many side stale data can be left in the second-level cache.
* <p/>
* <p>
* Warning: enabling this will have a performance impact. Hence why it is disabled by default
* (for good citizens) and is an opt-in setting.
*
@ -653,7 +653,7 @@ public interface SessionFactoryBuilder {
/**
* Should resources held by an {@link jakarta.persistence.EntityManager} be
* released immediately on close?
* <p/>
* <p>
* The other option is to release them as part of an after transaction callback.
*/
SessionFactoryBuilder enableReleaseResourcesOnCloseEnabled(boolean enable);

View File

@ -11,14 +11,14 @@ import java.util.List;
/**
* Describes the environment in which the scan will occur.
* <p/>
* <p>
* Note that much of this comes from the PU in JPA sense. This is
* intended as an abstraction over the PU in JPA cases, as well as a
* delegate allowing usage in non-JPA cases. With the planned move
* to unify the cfg.xml and persistence.xml schemas (like we are doing
* with hbm.xml and orm.xml) this becomes less needed (at least parts
* of it).
* <p/>
* <p>
* After unification, I think the biggest difference is that we will
* not need to pass ScanEnvironment into the MetadataSources/MetadataBuilder
* while for the time being we will need to.

View File

@ -9,12 +9,12 @@ package org.hibernate.boot.archive.scan.spi;
/**
* Defines the contract for Hibernate to be able to scan for classes, packages and resources inside a
* persistence unit.
* <p/>
* <p>
* Constructors are expected in one of 2 forms:<ul>
* <li>no-arg</li>
* <li>single arg, of type {@link org.hibernate.boot.archive.spi.ArchiveDescriptorFactory}</li>
* </ul>
* <p/>
* <p>
* If a ArchiveDescriptorFactory is specified in the configuration, but the Scanner
* to be used does not accept a ArchiveDescriptorFactory an exception will be thrown.
*

View File

@ -7,7 +7,7 @@
/**
* Defines the SPI for support of "scanning" of "archives".
* <p/>
* <p>
* Scanning might mean:<ul>
* <li>searching for classes/packages that define certain interfaces</li>
* <li>locating named resources</li>

View File

@ -29,7 +29,7 @@ import org.jboss.logging.Logger;
/**
* Models the information gleaned from parsing a {@code cfg.xml} file.
* <p/>
* <p>
* A LoadedConfig is built via {@link #consume}. An aggregated representation
* can be maintained through calls to {@link #merge}
*/

View File

@ -1825,7 +1825,7 @@ public class InFlightMetadataCollectorImpl implements InFlightMetadataCollector
* Recursively builds a list of FkSecondPass instances ready to be processed in this order.
* Checking all dependencies recursively seems quite expensive, but the original code just relied
* on some sort of table name sorting which failed in certain circumstances.
* <p/>
* <p>
* See {@code ANN-722} and {@code ANN-730}
*
* @param orderedFkSecondPasses The list containing the <code>FkSecondPass</code> instances ready

View File

@ -13,7 +13,7 @@ import org.hibernate.HibernateException;
/**
* JAXB marshalling for the FlushMode enum
* <p/>
* <p>
* NOTE : The XML schemas define the use of {@code "never"}, which corresponds
* to the removed FlushMode#NEVER. Here we will also handle mapping
* FlushMode#NEVER to FlushMode#MANUAL

View File

@ -119,7 +119,7 @@ public class XmlSources {
/**
* Read all {@code .hbm.xml} mappings from a jar file and pass them
* to the given {@link Consumer}.
* <p/>
* <p>
* Assumes that any file named {@code *.hbm.xml} is a mapping document.
* This method does not support {@code orm.xml} files!
*

View File

@ -13,7 +13,7 @@ import org.hibernate.HibernateException;
/**
* JAXB marshalling for {@link FlushMode}
* <p/>
* <p>
* NOTE : The XML schemas define the use of {@code "never"}, which corresponds
* to the removed FlushMode#NEVER. Here we will also handle mapping
* FlushMode#NEVER to FlushMode#MANUAL

View File

@ -8,7 +8,7 @@ package org.hibernate.boot.model;
/**
* An enumeration of truth values.
* <p/>
* <p>
* Yes this *could* be handled with Boolean, but then you run into potential
* problems with unwanted auto-unboxing.
*

View File

@ -22,9 +22,9 @@ public class Identifier implements Comparable<Identifier> {
/**
* Means to generate an {@link Identifier} instance from its simple text form.
* <p/>
* <p>
* If passed text is {@code null}, {@code null} is returned.
* <p/>
* <p>
* If passed text is surrounded in quote markers, the generated Identifier
* is considered quoted. Quote markers include back-ticks (`),
* double-quotes (") and brackets ([ and ]).
@ -42,9 +42,9 @@ public class Identifier implements Comparable<Identifier> {
/**
* Means to generate an {@link Identifier} instance from its simple text form.
* <p/>
* <p>
* If passed text is {@code null}, {@code null} is returned.
* <p/>
* <p>
* If passed text is surrounded in quote markers, the generated Identifier
* is considered quoted. Quote markers include back-ticks (`),
* double-quotes (") and brackets ([ and ]).
@ -63,9 +63,9 @@ public class Identifier implements Comparable<Identifier> {
/**
* Means to generate an {@link Identifier} instance from its simple text form.
* <p/>
* <p>
* If passed text is {@code null}, {@code null} is returned.
* <p/>
* <p>
* If passed text is surrounded in quote markers, the generated Identifier
* is considered quoted. Quote markers include back-ticks (`),
* double-quotes (") and brackets ([ and ]).
@ -126,7 +126,7 @@ public class Identifier implements Comparable<Identifier> {
* <li>{@code [name]}</li>
* <li>{@code "name"}</li>
* </ul>
* <p/>
* <p>
* That final form using double-quote (") is the JPA-defined quoting pattern. Although
* it is the standard, it makes for ugly declarations.
*

View File

@ -25,7 +25,7 @@ public interface ImplicitBasicColumnNameSource extends ImplicitNameSource {
/**
* Is the basic column the "element column" for a collection?
* <p/>
* <p>
* Historical handling for these in {@code hbm.xml} binding was to simply
* name the column "elt".
*

View File

@ -16,7 +16,7 @@ import org.hibernate.internal.util.StringHelper;
/**
* Implementation of the {@link ImplicitNamingStrategy} contract, generally
* preferring to conform to JPA standards.
* <p/>
* <p>
* For the legacy JPA-based naming standards initially implemented by Hibernate,
* see/use {@link ImplicitNamingStrategyLegacyJpaImpl}
*

View File

@ -10,9 +10,9 @@ package org.hibernate.boot.model.naming;
* Implementation of the ImplicitNamingStrategy contract which conforms to the
* naming rules initially implemented by Hibernate for JPA 1.0, prior to many
* things being clarified.
* <p/>
* <p>
* For a more JPA 2 compliant strategy, see/use {@link ImplicitNamingStrategyJpaCompliantImpl}
* <p/>
* <p>
* Corresponds roughly to the legacy org.hibernate.cfg.EJB3NamingStrategy class.
*
* @author Steve Ebersole

View File

@ -14,11 +14,11 @@ import org.hibernate.boot.spi.MetadataBuildingContext;
public interface NamingStrategyHelper {
/**
* Called when the user supplied no explicit name/identifier for the given database object.
* <p/>
* <p>
* Typically implementations will access the {@link ImplicitNamingStrategy} via
* {@link MetadataBuildingContext#getBuildingOptions()} ->
* {@link org.hibernate.boot.spi.MetadataBuildingOptions#getImplicitNamingStrategy()}
* <p/>
* <p>
* For proper quoting, {@link org.hibernate.boot.model.relational.Database#toIdentifier(String)}
* should be used via
* {@link MetadataBuildingContext#getMetadataCollector()} ->
@ -32,11 +32,11 @@ public interface NamingStrategyHelper {
/**
* Called when the user has supplied an explicit name for the database object.
* <p/>
* <p>
* Typically implementations will access the {@link ImplicitNamingStrategy} via
* {@link MetadataBuildingContext#getBuildingOptions()} ->
* {@link org.hibernate.boot.spi.MetadataBuildingOptions#getImplicitNamingStrategy()}
* <p/>
* <p>
* For proper quoting, {@link org.hibernate.boot.model.relational.Database#toIdentifier(String)}
* should be used via
* {@link MetadataBuildingContext#getMetadataCollector()} ->
@ -51,11 +51,11 @@ public interface NamingStrategyHelper {
/**
* Handle converting a logical name to a physical name
* <p/>
* <p>
* Typically implementations will access the {@link PhysicalNamingStrategy} via
* {@link MetadataBuildingContext#getBuildingOptions()} ->
* {@link org.hibernate.boot.spi.MetadataBuildingOptions#getPhysicalNamingStrategy()}
* <p/>
* <p>
* For proper quoting, {@link org.hibernate.boot.model.relational.Database#toIdentifier(String)}
* should be used via
* {@link MetadataBuildingContext#getMetadataCollector()} ->

View File

@ -20,7 +20,7 @@ public abstract class ObjectNameNormalizer {
/**
* Normalizes the quoting of identifiers.
* <p/>
* <p>
* This implements the rules set forth in JPA 2 (section "2.13 Naming of Database Objects") which
* states that the double-quote (") is the character which should be used to denote a {@code quoted
* identifier}. Here, we handle recognizing that and converting it to the more elegant

View File

@ -12,7 +12,7 @@
* suffers from many design flaws that are just not addressable in any sort of backwards
* compatible manner. So this proposed approach is essentially a clean-room impl based
* on lessons learned through NamingStrategy.
* <p/>
* <p>
* Naming is split here into 2 main pieces:<ol>
* <li>
* <b>logical</b> - Is the process of applying naming rules to determine the names

View File

@ -15,7 +15,7 @@ import org.hibernate.boot.model.convert.spi.ConverterDescriptor;
/**
* Represents the result of the first step of the process of building {@link org.hibernate.boot.MetadataSources}
* reference into a {@link org.hibernate.boot.Metadata} reference.
* <p/>
* <p>
* Essentially it represents the combination of:<ol>
* <li>domain classes, packages and mapping files defined via MetadataSources</li>
* <li>attribute converters defined via MetadataBuildingOptions</li>

View File

@ -14,7 +14,7 @@ import org.hibernate.dialect.Dialect;
/**
* Convenience base class for {@link AuxiliaryDatabaseObject}s.
* <p/>
* <p>
* This implementation performs dialect scoping checks strictly based on
* dialect name comparisons. Custom implementations might want to do
* instanceof-type checks.

View File

@ -95,7 +95,7 @@ public class Database {
* <li>explicit quoting in the name itself</li>
* <li>global request to quote all identifiers</li>
* </ul>
* <p/>
* <p>
* NOTE : quoting from database keywords happens only when building physical identifiers
*
* @param text The raw object name

View File

@ -14,7 +14,7 @@ import org.hibernate.boot.model.naming.Identifier;
* <li>{@link java.sql.DatabaseMetaData#isCatalogAtStart}</li>
* <li>{@link java.sql.DatabaseMetaData#getCatalogSeparator()}</li>
* </ol>
* <p/>
* <p>
* Also, be careful about the usage of {@link #render}. If the intention is to get the name
* as used in the database, the {@link org.hibernate.engine.jdbc.env.spi.JdbcEnvironment} ->
* {@link org.hibernate.engine.jdbc.env.spi.QualifiedObjectNameFormatter#format} should be
@ -29,7 +29,7 @@ public interface QualifiedName {
/**
* Returns a String-form of the qualified name.
* <p/>
* <p>
* Depending on intention, may not be appropriate. May want
* {@link SqlStringGenerationContext#format}
* instead.

View File

@ -15,7 +15,7 @@ import org.hibernate.internal.util.StringHelper;
* A simple implementation of AbstractAuxiliaryDatabaseObject in which the CREATE and DROP strings are
* provided up front. Contains simple facilities for templating the catalog and schema
* names into the provided strings.
* <p/>
* <p>
* This is the form created when the mapping documents use &lt;create/&gt; and
* &lt;drop/&gt;.
*

View File

@ -34,7 +34,7 @@ public interface SqlStringGenerationContext {
/**
* Generate an Identifier instance from its simple name as obtained from mapping
* information.
* <p/>
* <p>
* Note that Identifiers returned from here may be implicitly quoted based on
* 'globally quoted identifiers' or based on reserved words.
*

View File

@ -20,7 +20,7 @@ public class FetchProfileBinder {
/**
* Handling for a {@code <fetch-profile/>} declaration.
* <p/>
* <p>
* This form handles fetch profiles defined at the {@code <hibernate-mapping/>}
* root. For handling of fetch profiles defined within an entity, see
* {@link #processFetchProfile(HbmLocalMetadataBuildingContext, JaxbHbmFetchProfileType, String)}

View File

@ -10,7 +10,7 @@ import org.hibernate.boot.model.source.internal.hbm.XmlElementMetadata;
/**
* Contract for sources of persistent attribute descriptions.
* <p/>
* <p>
* These values are used to build {@link org.hibernate.mapping.Property} instances.
*
* @author Steve Ebersole

View File

@ -11,7 +11,7 @@ import java.util.List;
/**
* Contract for a container of {@link AttributeSource} references. Entities,
* MappedSuperclasses and composites (Embeddables) all contain attributes.
* <p/>
* <p>
* Think of this as the corollary to what JPA calls a ManagedType on the
* source side of things.
*

View File

@ -13,7 +13,7 @@ import org.hibernate.boot.model.TruthValue;
/**
* Contract for source information pertaining to a physical column definition specific to a particular attribute
* context.
* <p/>
* <p>
* Conceptual note: this really describes a column from the perspective of its binding to an attribute, not
* necessarily the column itself.
*

View File

@ -11,7 +11,7 @@ import org.hibernate.boot.model.JavaTypeDescriptor;
/**
* Represents the binding source for an "embeddable" (in JPA terms)
* or "composite" (in legacy Hibernate terms).
* <p/>
* <p>
* Note that this really models the JPA concept of an Embedded, more
* than the Embeddable.
*

View File

@ -10,7 +10,7 @@ import org.hibernate.boot.jaxb.hbm.spi.SingularAttributeInfo;
/**
* Unifying contract for any JAXB types which describe an embedded (in JPA terms).
* <p/>
* <p>
* Essentially this presents a unified contract over the {@code <component/>},
* {@code <composite-id/>}, {@code <dynamic-component/>} and
* {@code <nested-dynamic-component/>} elements

View File

@ -24,7 +24,7 @@ public interface EntityHierarchySource {
/**
* The inheritance type/strategy for the hierarchy.
* <p/>
* <p>
* NOTE : The entire hierarchy must comply with the same inheritance strategy.
*
* @return The inheritance type.

View File

@ -66,7 +66,7 @@ public interface EntitySource extends IdentifiableTypeSource, ToolingHintContext
/**
* Is the entity abstract?
* <p/>
* <p>
* The implication is whether the entity maps to a database table.
*
* @return {@code true} indicates the entity is abstract; {@code false} non-abstract; {@code null}

View File

@ -12,7 +12,7 @@ import java.util.List;
* Additional contract describing the source of an identifier mapping whose
* {@linkplain #getNature() nature} is
* {@link org.hibernate.id.EntityIdentifierNature#AGGREGATED_COMPOSITE}.
* <p/>
* <p>
* This equates to an identifier which is made up of multiple values which are
* defined as part of a component/embedded; i.e. {@link jakarta.persistence.EmbeddedId}
*

View File

@ -11,7 +11,7 @@ import java.util.List;
/**
* Additional contract describing the source of an identifier mapping whose {@linkplain #getNature() nature} is
* {@link org.hibernate.id.EntityIdentifierNature#NON_AGGREGATED_COMPOSITE}.
* <p/>
* <p>
* Think {@link jakarta.persistence.IdClass}
*
* @author Steve Ebersole

View File

@ -39,7 +39,7 @@ public interface MetadataSourceProcessor {
* Process all "root" named queries. These are named queries not defined on
* a specific entity (which will be handled later during
* {@link #processEntityHierarchies}).
* <p/>
* <p>
* This step has no prerequisites. The returns associated with named native
* queries can depend on entity binding being complete, but those are handled
* later during {@link #processResultSetMappings()}.
@ -48,28 +48,28 @@ public interface MetadataSourceProcessor {
/**
* Process all {@link org.hibernate.boot.model.relational.AuxiliaryDatabaseObject} definitions.
* <p/>
* <p>
* This step has no prerequisites.
*/
void processAuxiliaryDatabaseObjectDefinitions();
/**
* Process all custom identifier generator declarations,
* <p/>
* <p>
* Depends on {@link #processTypeDefinitions()}
*/
void processIdentifierGenerators();
/**
* Process all filter definitions.
* <p/>
* <p>
* This step depends on {@link #processTypeDefinitions()}
*/
void processFilterDefinitions();
/**
* Process all fetch profiles.
* <p/>
* <p>
* todo : does this step depend on any others??
*/
void processFetchProfiles();

View File

@ -22,7 +22,7 @@ public interface Orderable {
/**
* The order by clause used during loading this plural attribute.
*
* <p/>
* <p>
* If the ordering element is not specified, ordering by
* the primary key of the associated entity is assumed
*

View File

@ -18,7 +18,7 @@ package org.hibernate.boot.model.source.spi;
* </ul>
* </li>
* </ul>
* <p/>
* <p>
* {@link PluralAttributeMapKeySourceEntityAttribute} is only relevant from
* annotations when using {@link jakarta.persistence.MapKey}.
*

View File

@ -15,7 +15,7 @@ import org.hibernate.mapping.MetaAttribute;
/**
* Represents a collection of "tooling hints" ({@code <meta/>} mapping info) keyed by a name.
* <p/>
* <p>
* NOTE : historically these were called "meta attributes", but as these are values used solely
* by external tooling it was decided to begin calling them tooling hints. For temporary
* backwards compatibility (temporary until we move away from o.h.mapping model) you will

View File

@ -140,10 +140,10 @@ public class BootstrapServiceRegistryBuilder {
/**
* By default, when a ServiceRegistry is no longer referenced by any other
* registries as a parent it will be closed.
* <p/>
* <p>
* Some applications that explicitly build "shared registries" may want to
* circumvent that behavior.
* <p/>
* <p>
* This method indicates that the registry being built should not be
* automatically closed. The caller agrees to take responsibility to
* close it themselves.

View File

@ -332,7 +332,7 @@ public class StandardServiceRegistryBuilder {
* By default, when a {@link ServiceRegistry} is no longer referenced by any
* other registries as a parent it will be closed. Some applications that
* explicitly build "shared registries" may need to circumvent that behavior.
* <p/>
* <p>
* This method indicates that the registry being built should not be
* automatically closed. The caller takes responsibility for closing it.
*

View File

@ -88,7 +88,7 @@ public interface ClassLoaderService extends ResourceLocator, ResourceStreamLocat
/**
* Discovers and instantiates implementations of the named service contract.
* <p/>
* <p>
* NOTE : the terms service here is used differently than {@link Service}. Instead here we are talking about
* services as defined by {@link java.util.ServiceLoader}.
*

View File

@ -15,20 +15,20 @@ import org.hibernate.service.Service;
/**
* Service which acts as a registry for named strategy implementations.
* <p/>
* <p>
* Strategies are more open ended than services, though a strategy managed here might very well also be a service. The
* strategy is any interface that has multiple, (possibly short) named implementations.
* <p/>
* <p>
* StrategySelector manages resolution of particular implementation by (possibly short) name via the
* {@link StrategySelector#selectStrategyImplementor} method, which is the main contract here. As indicated in the docs of that
* method the given name might be either a short registered name or the implementation FQN. As an example, consider
* resolving the {@link org.hibernate.resource.transaction.spi.TransactionCoordinatorBuilder} implementation to use. To use the
* JDBC-based TransactionCoordinatorBuilder the passed name might be either {@code "jdbc"} or
* {@code "org.hibernate.resource.transaction.backend.jdbc.internal.JdbcResourceLocalTransactionCoordinatorBuilderImpl"} (which is the FQN).
* <p/>
* <p>
* Strategy implementations can be managed by {@link StrategySelector#registerStrategyImplementor} and
* {@link StrategySelector#unRegisterStrategyImplementor}. Originally designed to help the OSGi use case, though no longer used there.
* <p/>
* <p>
* The service also exposes a general typing API via {@link StrategySelector#resolveStrategy} and {@link StrategySelector#resolveDefaultableStrategy}
* which accept implementation references rather than implementation names, allowing for a multitude of interpretations
* of said "implementation reference". See the docs for {@link StrategySelector#resolveDefaultableStrategy} for details.

View File

@ -13,20 +13,20 @@ import org.hibernate.service.Service;
/**
* Service which acts as a registry for named strategy implementations.
* <p/>
* <p>
* Strategies are more open ended than services, though a strategy managed here might very well also be a service. The
* strategy is any interface that has multiple, (possibly short) named implementations.
* <p/>
* <p>
* StrategySelector manages resolution of particular implementation by (possibly short) name via the
* {@link #selectStrategyImplementor} method, which is the main contract here. As indicated in the docs of that
* method the given name might be either a short registered name or the implementation FQN. As an example, consider
* resolving the {@link org.hibernate.resource.transaction.spi.TransactionCoordinatorBuilder} implementation to use. To use the
* JDBC-based TransactionCoordinatorBuilder the passed name might be either {@code "jdbc"} or
* {@code "org.hibernate.resource.transaction.backend.jdbc.internal.JdbcResourceLocalTransactionCoordinatorBuilderImpl"} (which is the FQN).
* <p/>
* <p>
* Strategy implementations can be managed by {@link #registerStrategyImplementor} and
* {@link #unRegisterStrategyImplementor}. Originally designed to help the OSGi use case, though no longer used there.
* <p/>
* <p>
* The service also exposes a general typing API via {@link #resolveStrategy} and {@link #resolveDefaultableStrategy}
* which accept implementation references rather than implementation names, allowing for a multitude of interpretations
* of said "implementation reference". See the docs for {@link #resolveDefaultableStrategy} for details.

View File

@ -127,7 +127,7 @@ public interface BootstrapContext {
/**
* Access to the Jandex index passed by call to
* {@link org.hibernate.boot.MetadataBuilder#applyIndexView(IndexView)}, if any.
* <p/>
* <p>
* Note that Jandex is currently not used. See https://github.com/hibernate/hibernate-orm/wiki/Roadmap7.0
*
* @return The Jandex index
@ -137,7 +137,7 @@ public interface BootstrapContext {
/**
* Access to any SQL functions explicitly registered with the MetadataBuilder. This
* does not include Dialect defined functions, etc.
* <p/>
* <p>
* Should never return {@code null}
*
* @return The SQLFunctions registered through MetadataBuilder
@ -147,7 +147,7 @@ public interface BootstrapContext {
/**
* Access to any AuxiliaryDatabaseObject explicitly registered with the MetadataBuilder. This
* does not include AuxiliaryDatabaseObject defined in mappings.
* <p/>
* <p>
* Should never return {@code null}
*
* @return The AuxiliaryDatabaseObject registered through MetadataBuilder
@ -156,7 +156,7 @@ public interface BootstrapContext {
/**
* Access to collected AttributeConverter definitions.
* <p/>
* <p>
* Should never return {@code null}
*
* @return The AttributeConverterInfo registered through MetadataBuilder
@ -165,7 +165,7 @@ public interface BootstrapContext {
/**
* Access to all explicit cache region mappings.
* <p/>
* <p>
* Should never return {@code null}
*
* @return Explicit cache region mappings
@ -176,7 +176,7 @@ public interface BootstrapContext {
/**
* Releases the "bootstrap only" resources held by this BootstrapContext.
* <p/>
* <p>
* Only one call to this method is supported, after we have completed the process of
* building the (non-inflight) Metadata impl. We may want to delay this until we
* get into SF building. Not sure yet.

View File

@ -9,7 +9,7 @@ package org.hibernate.boot.spi;
/**
* Contract for things that need to be aware of JPA {@code orm.xml}-defined persistence-unit-defaults. Only
* MetadataBuildingOptions are supported to implement this contract.
* <p/>
* <p>
* NOTE: it is expected that this contract will go away as we migrate to Jandex for annotation processing
* and move to the annotation binding constructs done on the metamodel branch.
*

View File

@ -274,14 +274,14 @@ public interface SessionFactoryOptions extends QueryEngineOptions {
* specified in a {@link org.hibernate.procedure.ProcedureCall} or
* {@link jakarta.persistence.StoredProcedureQuery} to named parameters in
* the JDBC {@link java.sql.CallableStatement}.
* <p/>
* <p>
* As JPA is defined, the use of named parameters is essentially of dubious
* value since by spec the parameters have to be defined in the order they are
* defined in the procedure/function declaration - we can always bind them
* positionally. The whole idea of named parameters for CallableStatement
* is the ability to bind these in any order, but since we unequivocally
* know the order anyway binding them via name really gains nothing.
* <p/>
* <p>
* If this is {@code true}, we still need to make sure the Dialect supports
* named binding. Setting this to {@code false} simply circumvents that
* check and always performs positional binding.

View File

@ -12,7 +12,7 @@ import org.hibernate.internal.util.collections.ArrayHelper;
/**
* small low memory class to keep track of changed fields
* <p/>
* <p>
* uses an array as a set (under the assumption that the number of elements will be low) to avoid having to instantiate an HashSet.
* if the assumption does not, hold the array can be kept ordered to reduce the cost of verifying duplicates
*

View File

@ -14,7 +14,7 @@ package org.hibernate.bytecode.enhance.spi;
* <li>Runtime, via agent</li>
* <li>Runtime, via JPA constructs</li>
* </ul>
* <p/>
* <p>
* This interface isolates the code that actually does the enhancement from the underlying context in which
* the enhancement is being performed.
*
@ -105,7 +105,7 @@ public interface EnhancementContext {
/**
* Does the field represent persistent state? Persistent fields will be "enhanced".
* <p/>
* <p>
* may be better to perform basic checks in the caller (non-static, etc) and call out with just the
* Class name and field name...
*

View File

@ -49,7 +49,7 @@ public final class EnhancerConstants {
/**
* Name of the field used to hold the previous {@link org.hibernate.engine.spi.ManagedEntity}.
* <p/>
* <p>
* Together, previous/next are used to define a "linked list"
*
* @see #NEXT_FIELD_NAME
@ -72,7 +72,7 @@ public final class EnhancerConstants {
/**
* Name of the field used to hold the previous {@link org.hibernate.engine.spi.ManagedEntity}.
* <p/>
* <p>
* Together, previous/next are used to define a "linked list"
*
* @see #PREVIOUS_FIELD_NAME

View File

@ -15,7 +15,7 @@ import org.hibernate.service.Service;
/**
* Contract for providers of bytecode services to Hibernate.
* <p/>
* <p>
* Bytecode requirements break down into the following areas<ol>
* <li>proxy generation (both for runtime-lazy-loading and basic proxy generation) {@link #getProxyFactoryFactory()}</li>
* <li>bean reflection optimization {@link #getReflectionOptimizer}</li>

View File

@ -12,7 +12,7 @@ import org.hibernate.service.Service;
/**
* An interface for factories of {@link ProxyFactory proxy factory} instances.
* <p/>
* <p>
* Currently used to abstract from the tuplizer whether we are using Byte Buddy or
* possibly another implementation (in the future?) for lazy proxy generation.
*
@ -30,11 +30,11 @@ public interface ProxyFactoryFactory extends Service {
/**
* Build a proxy factory for basic proxy concerns. The return
* should be capable of properly handling newInstance() calls.
* <p/>
* <p>
* Should build basic proxies essentially equivalent to JDK proxies in
* terms of capabilities, but should be able to deal with abstract super
* classes in addition to proxy interfaces.
* <p/>
* <p>
* Must pass in either a superClass or an interface.
*
* @param superClassOrInterface The abstract super class, or the

View File

@ -18,18 +18,18 @@ import org.hibernate.persister.entity.EntityPersister;
* a large object to allocate in large quantities at runtime.
* In some extreme cases, for example when the hit ratio is very low, this was making the efficiency
* penalty vs its benefits tradeoff questionable.
* <p/>
* <p>
* Depending on configuration settings there might be opportunities to
* use simpler key implementations, for example when multi-tenancy is not being used to
* avoid the tenant identifier, or when a cache instance is entirely dedicated to a single type
* to use the primary id only, skipping the role or entity name.
* <p/>
* <p>
* Even with multiple types sharing the same cache, their identifiers could be of the same
* {@link org.hibernate.type.Type}; in this case the cache container could
* use a single type reference to implement a custom equality function without having
* to look it up on each equality check: that's a small optimisation but the
* equality function is often invoked extremely frequently.
* <p/>
* <p>
* Another reason is to make it more convenient to implement custom serialization protocols when the
* implementation supports clustering.
*

View File

@ -14,10 +14,10 @@ import org.hibernate.cache.CacheException;
* necessarily correlate to any specific concept in the underlying
* caching provider - it's just a thing that can be referenced by
* name later.
* <p/>
* <p>
* A region's name is "unqualified"; i.e. it is not prefixed by
* {@link SessionFactoryOptions#getCacheRegionPrefix()}.
* <p/>
* <p>
* {@code Region} is the base contract defining some common
* characteristics regardless of the type of data intended to be
* stored within the region. The more specific subtypes are:

View File

@ -99,7 +99,7 @@ public interface CachedDomainDataAccess {
/**
* We are going to attempt to update/delete the keyed object. This
* method is used by "asynchronous" concurrency strategies.
* <p/>
* <p>
* The returned object must be passed back to {@link #unlockItem}, to release the
* lock. Concurrency strategies which do not support client-visible
* locks may silently return null.
@ -152,7 +152,7 @@ public interface CachedDomainDataAccess {
/**
* Determine whether this region contains data for the given key.
* <p/>
* <p>
* The semantic here is whether the cache contains data visible for the
* current call context. This should be viewed as a "best effort", meaning
* blocking should be avoided if possible.
@ -187,7 +187,7 @@ public interface CachedDomainDataAccess {
* Forcibly evict an item from the cache immediately without regard for transaction
* isolation and/or locking. This behavior is exactly Hibernate legacy behavior, but
* it is also required by JPA - so we cannot remove it.
* <p/>
* <p>
* Used from JPA's {@link jakarta.persistence.Cache#evict(Class, Object)}, as well as the
* Hibernate extension {@link org.hibernate.Cache#evictEntityData(Class, Object)}
* and {@link org.hibernate.Cache#evictEntityData(String, Object)}
@ -202,7 +202,7 @@ public interface CachedDomainDataAccess {
* Forcibly evict all items from the cache immediately without regard for transaction
* isolation. This behavior is exactly Hibernate legacy behavior, but it is also required
* by JPA - so we cannot remove it.
* <p/>
* <p>
* Used from our JPA impl of {@link Cache#evictAll()} as well as the Hibernate
* extensions {@link org.hibernate.Cache#evictEntityData(Class)},
* {@link org.hibernate.Cache#evictEntityData(String)} and

Some files were not shown because too many files have changed in this diff Show More