HHH-15760 mass replace self-closing tags in javadoc
This commit is contained in:
parent
f4b1e00ddf
commit
f38dd28043
|
@ -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 ('?')
|
||||
*
|
||||
|
|
|
@ -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
|
||||
|
|
|
@ -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")
|
||||
|
|
|
@ -38,30 +38,30 @@ package org.hibernate.community.dialect;
|
|||
* The following steps assume that the directory where Caché was installed is C:\CacheSys.
|
||||
* This is the default installation directory for Caché.
|
||||
* 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é 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é.
|
||||
* <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é dialect and the Caché 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É DIALECTS</h2>
|
||||
* Choices for Dialect are:
|
||||
* <br>
|
||||
* <p/>
|
||||
* <p>
|
||||
* <ol>
|
||||
* <li>org.hibernate.community.dialect.Cache71Dialect (requires Caché
|
||||
* 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é 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;
|
|||
* </id>
|
||||
* </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É DIALECT</h2>
|
||||
* The following files are associated with Caché dialect:
|
||||
* <p/>
|
||||
* <p>
|
||||
* <ol>
|
||||
* <li>src\org\hibernate\dialect\Cache71Dialect.java</li>
|
||||
* <li>src\org\hibernate\dialect\function\ConditionalParenthesisFunction.java</li>
|
||||
|
|
|
@ -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
|
||||
|
|
|
@ -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
|
||||
|
|
|
@ -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>
|
||||
|
|
|
@ -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>
|
||||
|
|
|
@ -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,
|
||||
|
|
|
@ -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
|
||||
|
|
|
@ -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
|
||||
|
|
|
@ -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
|
||||
|
|
|
@ -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
|
||||
|
|
|
@ -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.
|
||||
*
|
||||
|
|
|
@ -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,
|
||||
|
|
|
@ -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>
|
||||
*
|
||||
|
|
|
@ -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}.
|
||||
*
|
||||
|
|
|
@ -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.
|
||||
|
|
|
@ -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.
|
||||
*
|
||||
|
|
|
@ -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,
|
||||
|
|
|
@ -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
|
||||
|
|
|
@ -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,
|
||||
|
|
|
@ -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()}
|
||||
*
|
||||
|
|
|
@ -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
|
||||
|
|
|
@ -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
|
||||
|
|
|
@ -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.
|
||||
|
|
|
@ -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.
|
||||
|
|
|
@ -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;
|
||||
|
|
|
@ -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.
|
||||
|
|
|
@ -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.
|
||||
|
|
|
@ -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
|
||||
|
|
|
@ -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.
|
||||
|
|
|
@ -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
|
||||
|
|
|
@ -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.
|
||||
*
|
||||
|
|
|
@ -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} )
|
||||
|
|
|
@ -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;
|
||||
|
|
|
@ -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} )
|
||||
|
|
|
@ -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}
|
||||
*
|
||||
|
|
|
@ -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
|
||||
|
|
|
@ -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
|
||||
|
|
|
@ -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
|
||||
|
|
|
@ -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
|
||||
|
|
|
@ -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
|
||||
|
|
|
@ -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.
|
||||
|
|
|
@ -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}
|
||||
|
|
|
@ -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.
|
||||
*
|
||||
|
|
|
@ -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!
|
||||
*
|
||||
|
|
|
@ -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);
|
||||
|
|
|
@ -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.
|
||||
|
|
|
@ -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.
|
||||
*
|
||||
|
|
|
@ -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>
|
||||
|
|
|
@ -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}
|
||||
*/
|
||||
|
|
|
@ -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
|
||||
|
|
|
@ -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
|
||||
|
|
|
@ -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!
|
||||
*
|
||||
|
|
|
@ -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
|
||||
|
|
|
@ -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.
|
||||
*
|
||||
|
|
|
@ -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.
|
||||
*
|
||||
|
|
|
@ -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".
|
||||
*
|
||||
|
|
|
@ -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}
|
||||
*
|
||||
|
|
|
@ -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
|
||||
|
|
|
@ -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()} ->
|
||||
|
|
|
@ -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
|
||||
|
|
|
@ -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
|
||||
|
|
|
@ -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>
|
||||
|
|
|
@ -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.
|
||||
|
|
|
@ -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
|
||||
|
|
|
@ -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.
|
||||
|
|
|
@ -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 <create/> and
|
||||
* <drop/>.
|
||||
*
|
||||
|
|
|
@ -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.
|
||||
*
|
||||
|
|
|
@ -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)}
|
||||
|
|
|
@ -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
|
||||
|
|
|
@ -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.
|
||||
*
|
||||
|
|
|
@ -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.
|
||||
*
|
||||
|
|
|
@ -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.
|
||||
*
|
||||
|
|
|
@ -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
|
||||
|
|
|
@ -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.
|
||||
|
|
|
@ -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}
|
||||
|
|
|
@ -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}
|
||||
*
|
||||
|
|
|
@ -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
|
||||
|
|
|
@ -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();
|
||||
|
|
|
@ -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
|
||||
*
|
||||
|
|
|
@ -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}.
|
||||
*
|
||||
|
|
|
@ -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
|
||||
|
|
|
@ -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.
|
||||
|
|
|
@ -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.
|
||||
*
|
||||
|
|
|
@ -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}.
|
||||
*
|
||||
|
|
|
@ -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.
|
||||
|
|
|
@ -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.
|
||||
|
|
|
@ -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.
|
||||
|
|
|
@ -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.
|
||||
*
|
||||
|
|
|
@ -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.
|
||||
|
|
|
@ -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
|
||||
*
|
||||
|
|
|
@ -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...
|
||||
*
|
||||
|
|
|
@ -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
|
||||
|
|
|
@ -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>
|
||||
|
|
|
@ -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
|
||||
|
|
|
@ -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.
|
||||
*
|
||||
|
|
|
@ -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:
|
||||
|
|
|
@ -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
Loading…
Reference in New Issue