get rid of "NOTE :" which looks terrible in compiled javadoc
- use @implNot / @apiNot instead
This commit is contained in:
parent
b3625a34e4
commit
60884a4c3a
|
@ -111,9 +111,9 @@ public class QueryException extends HibernateException {
|
|||
/**
|
||||
* Called from {@link #wrapWithQueryString(String)} when we really need to
|
||||
* generate a new {@code QueryException} (or subclass).
|
||||
* <p>
|
||||
* NOTE : implementors should take care to use {@link #getOriginalMessage()}
|
||||
* for the message, not {@link #getMessage()}
|
||||
*
|
||||
* @implNote implementors should take care to use {@link #getOriginalMessage()}
|
||||
* for the message, not {@link #getMessage()}
|
||||
*
|
||||
* @param queryString The query string
|
||||
*
|
||||
|
|
|
@ -32,10 +32,10 @@ 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>
|
||||
* 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.
|
||||
*
|
||||
* @apiNote defined as default to allow for existing {@code SessionFactoryObserver}
|
||||
* implementations to work in 5.2. Starting in 6.0 the default will be
|
||||
* removed and implementations will be required to implement this new method.
|
||||
*
|
||||
* @param factory The factory about to be closed.
|
||||
*
|
||||
|
|
|
@ -67,9 +67,10 @@ public abstract class AbstractEntityInsertAction extends EntityAction {
|
|||
|
||||
/**
|
||||
* Returns the entity state.
|
||||
* <P>
|
||||
* Note that the call to {@link #nullifyTransientReferencesIfNotAlready}
|
||||
* can modify the entity state.
|
||||
*
|
||||
* NOTE: calling {@link #nullifyTransientReferencesIfNotAlready} can modify the
|
||||
* entity state.
|
||||
* @return the entity state.
|
||||
*
|
||||
* @see #nullifyTransientReferencesIfNotAlready
|
||||
|
|
|
@ -35,8 +35,8 @@ import org.hibernate.sql.ast.tree.insert.InsertSelectStatement;
|
|||
/**
|
||||
* An {@link org.hibernate.engine.spi.ActionQueue} {@link Executable} for
|
||||
* ensuring shared cache cleanup in relation to performed bulk HQL queries.
|
||||
* <p>
|
||||
* NOTE: currently this executes for {@code INSERT} queries as well as
|
||||
*
|
||||
* @implNote 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
|
||||
* clean up (we'd still need to invalidate the appropriate update-timestamps
|
||||
|
|
|
@ -38,11 +38,11 @@ public @interface UuidGenerator {
|
|||
*/
|
||||
RANDOM,
|
||||
/**
|
||||
* Applies a time-based generation strategy consistent with IETF RFC 4122. Uses
|
||||
* IP address rather than mac address.
|
||||
* Applies a time-based generation strategy consistent with IETF RFC 4122.
|
||||
* Uses IP address rather than mac address.
|
||||
*
|
||||
* NOTE : Can be a bottleneck due to the need to synchronize in order to increment an
|
||||
* internal count as part of the algorithm.
|
||||
* @implNote Can be a bottleneck due to the need to synchronize in order
|
||||
* to increment an internal count as part of the algorithm.
|
||||
*/
|
||||
TIME
|
||||
}
|
||||
|
|
|
@ -142,10 +142,10 @@ public interface MetadataBuilder {
|
|||
* Allows specifying a specific Jandex index to use for reading annotation information.
|
||||
* <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
|
||||
* this Jandex index already contains all entries for all classes. No additional indexing will be
|
||||
* done in this case.
|
||||
* <p>
|
||||
* NOTE : Here for future expansion. At the moment the passed Jandex index is not used.
|
||||
*
|
||||
* @apiNote Here for future expansion. At the moment the passed Jandex index is not used.
|
||||
*
|
||||
* @param jandexView The Jandex index to use.
|
||||
*
|
||||
|
|
|
@ -24,7 +24,7 @@ import org.hibernate.boot.archive.spi.InputStreamAccess;
|
|||
import static org.hibernate.internal.log.UrlMessageBundle.URL_MESSAGE_LOGGER;
|
||||
|
||||
/**
|
||||
* Descriptor for exploded (directory) archives
|
||||
* An {@code ArchiveDescriptor} for exploded (directory) archives.
|
||||
*
|
||||
* @author Steve Ebersole
|
||||
*/
|
||||
|
|
|
@ -27,7 +27,7 @@ import org.hibernate.boot.archive.spi.InputStreamAccess;
|
|||
import static org.hibernate.internal.log.UrlMessageBundle.URL_MESSAGE_LOGGER;
|
||||
|
||||
/**
|
||||
* An ArchiveDescriptor implementation leveraging the {@link JarFile} API for processing.
|
||||
* An {@code ArchiveDescriptor} implementation leveraging the {@link JarFile} API for processing.
|
||||
*
|
||||
* @author Steve Ebersole
|
||||
*/
|
||||
|
|
|
@ -22,8 +22,9 @@ import org.hibernate.boot.archive.spi.InputStreamAccess;
|
|||
import static org.hibernate.internal.log.UrlMessageBundle.URL_MESSAGE_LOGGER;
|
||||
|
||||
/**
|
||||
* An ArchiveDescriptor implementation that works on archives accessible through a {@link JarInputStream}.
|
||||
* NOTE : This is less efficient implementation than {@link JarFileBasedArchiveDescriptor}
|
||||
* An {@code ArchiveDescriptor} that works on archives accessible through a {@link JarInputStream}.
|
||||
*
|
||||
* @implNote This is less efficient implementation than {@link JarFileBasedArchiveDescriptor}.
|
||||
*
|
||||
* @author Emmanuel Bernard
|
||||
* @author Steve Ebersole
|
||||
|
|
|
@ -20,11 +20,10 @@ import org.hibernate.service.spi.SessionFactoryServiceRegistry;
|
|||
public interface ActivationContext {
|
||||
/**
|
||||
* Access the requested validation mode(s).
|
||||
* <p>
|
||||
* IMPL NOTE : the legacy code allowed multiple mode values to be specified, so that is why it is multi-valued here.
|
||||
*
|
||||
* @implNote The legacy code allowed multiple mode values to be specified, so that is why it is multivalued here.
|
||||
* However, I cannot find any good reasoning why it was defined that way and even JPA states it should be a single
|
||||
* value. For 4.1 (in maintenance) I think it makes the most sense to not mess with it. Discuss for
|
||||
* 4.2 and beyond.
|
||||
* value. For 4.1 (in maintenance) I think it makes the most sense to not mess with it. Discuss for 4.2 and beyond.
|
||||
*
|
||||
* @return The requested validation modes
|
||||
*/
|
||||
|
|
|
@ -12,11 +12,11 @@ import org.hibernate.FlushMode;
|
|||
import org.hibernate.HibernateException;
|
||||
|
||||
/**
|
||||
* JAXB marshalling for the FlushMode enum
|
||||
* <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
|
||||
* JAXB marshalling for the {@link FlushMode} enum.
|
||||
*
|
||||
* @implNote The XML schemas define the use of {@code "never"}, which corresponds
|
||||
* to the removed {@code FlushMode#NEVER}. Here we will also remap
|
||||
* {@code FlushMode#NEVER} to {@link FlushMode#MANUAL}.
|
||||
*
|
||||
* @author Steve Ebersole
|
||||
*/
|
||||
|
|
|
@ -13,10 +13,10 @@ import org.hibernate.HibernateException;
|
|||
|
||||
/**
|
||||
* JAXB marshalling for {@link FlushMode}
|
||||
* <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
|
||||
*
|
||||
* @implNote The XML schemas define the use of {@code "never"}, which corresponds
|
||||
* to the removed {@code FlushMode#NEVER}. Here we will also remap
|
||||
* {@code FlushMode#NEVER} to {@link FlushMode#MANUAL}.
|
||||
*
|
||||
* @author Steve Ebersole
|
||||
*/
|
||||
|
|
|
@ -12,9 +12,6 @@ import org.hibernate.service.ServiceRegistry;
|
|||
* Contract for contributing types.
|
||||
*
|
||||
* @author Steve Ebersole
|
||||
*
|
||||
* NOTE: Cherry-pick of HHH-7998 from metamodel. For merging simplicity, just
|
||||
* keep it in the o.h.metamodel.spi package.
|
||||
*/
|
||||
public interface TypeContributor {
|
||||
/**
|
||||
|
|
|
@ -38,14 +38,15 @@ import org.hibernate.Incubating;
|
|||
* An {@code ImplicitNamingStrategy} may be selected using the configuration property
|
||||
* {@value org.hibernate.cfg.AvailableSettings#IMPLICIT_NAMING_STRATEGY}.
|
||||
*
|
||||
* @apiNote The method names here mostly favor the JPA terminology,
|
||||
* for example, "secondary table" rather than "join".
|
||||
*
|
||||
* @see PhysicalNamingStrategy
|
||||
*
|
||||
* @author Steve Ebersole
|
||||
*/
|
||||
@Incubating
|
||||
public interface ImplicitNamingStrategy {
|
||||
// NOTE: the method names here mostly favor the JPA terminology
|
||||
// (for example, "secondary table" rather than "join")
|
||||
|
||||
/**
|
||||
* Determine the implicit name of an entity's primary table.
|
||||
|
|
|
@ -25,7 +25,7 @@ public interface EntityHierarchySource {
|
|||
/**
|
||||
* The inheritance type/strategy for the hierarchy.
|
||||
* <p>
|
||||
* NOTE : The entire hierarchy must comply with the same inheritance strategy.
|
||||
* The entire hierarchy must have with the same inheritance strategy.
|
||||
*
|
||||
* @return The inheritance type.
|
||||
*/
|
||||
|
|
|
@ -15,11 +15,11 @@ import org.hibernate.mapping.MetaAttribute;
|
|||
|
||||
/**
|
||||
* Represents a collection of "tooling hints" ({@code <meta/>} mapping info) keyed by a name.
|
||||
* <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
|
||||
* see mixed usage.
|
||||
*
|
||||
* @apiNote 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
|
||||
* see mixed usage.
|
||||
*
|
||||
* @author Steve Ebersole
|
||||
*/
|
||||
|
|
|
@ -88,9 +88,9 @@ public interface ClassLoaderService extends ResourceLocator, ResourceStreamLocat
|
|||
|
||||
/**
|
||||
* Discovers and instantiates implementations of the named service contract.
|
||||
* <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}.
|
||||
*
|
||||
* @apiNote The term "service" here does not refer to a {@link Service}.
|
||||
* Here it refers to a Java {@link java.util.ServiceLoader}.
|
||||
*
|
||||
* @param serviceContract The java type defining the service contract
|
||||
* @param <S> The type of the service contract
|
||||
|
|
|
@ -2904,8 +2904,9 @@ public interface AvailableSettings {
|
|||
* @see jakarta.persistence.CacheRetrieveMode
|
||||
*
|
||||
* @deprecated Use {@link #JAKARTA_SHARED_CACHE_RETRIEVE_MODE} instead
|
||||
*
|
||||
* @apiNote This is not a legal property for an {@code EntityManagerFactory}.
|
||||
*/
|
||||
//NOTE : Not a valid EMF property
|
||||
@Deprecated
|
||||
@SuppressWarnings("DeprecatedIsStillUsed")
|
||||
String JPA_SHARED_CACHE_RETRIEVE_MODE = "javax.persistence.cache.retrieveMode";
|
||||
|
@ -2917,8 +2918,9 @@ public interface AvailableSettings {
|
|||
* @see jakarta.persistence.CacheStoreMode
|
||||
*
|
||||
* @deprecated Use {@link #JAKARTA_SHARED_CACHE_STORE_MODE} instead
|
||||
*
|
||||
* @apiNote This is not a legal property for an {@code EntityManagerFactory}.
|
||||
*/
|
||||
//NOTE: Not a valid EMF property
|
||||
@Deprecated
|
||||
@SuppressWarnings("DeprecatedIsStillUsed")
|
||||
String JPA_SHARED_CACHE_STORE_MODE = "javax.persistence.cache.storeMode";
|
||||
|
|
|
@ -2097,8 +2097,8 @@ public abstract class Dialect implements ConversionContext {
|
|||
/**
|
||||
* For dropping a type, can the phrase "{@code if exists} be
|
||||
* applied before the type name?
|
||||
* <p/>
|
||||
* NOTE : Only one or the other (or neither) of this and
|
||||
*
|
||||
* @apiNote Only one or the other (or neither) of this and
|
||||
* {@link #supportsIfExistsAfterTypeName} should return true.
|
||||
*
|
||||
* @return {@code true} if {@code if exists} can be applied before the type name
|
||||
|
@ -2110,8 +2110,8 @@ public abstract class Dialect implements ConversionContext {
|
|||
/**
|
||||
* For dropping a type, can the phrase {@code if exists} be
|
||||
* applied after the type name?
|
||||
* <p/>
|
||||
* NOTE : Only one or the other (or neither) of this and
|
||||
*
|
||||
* @apiNote Only one or the other (or neither) of this and
|
||||
* {@link #supportsIfExistsBeforeTypeName} should return true.
|
||||
*
|
||||
* @return {@code true} if {@code if exists} can be applied after the type name
|
||||
|
@ -2936,8 +2936,8 @@ public abstract class Dialect implements ConversionContext {
|
|||
/**
|
||||
* For dropping a table, can the phrase "{@code if exists} be
|
||||
* applied before the table name?
|
||||
* <p>
|
||||
* NOTE : Only one or the other (or neither) of this and
|
||||
*
|
||||
* @apiNote Only one or the other (or neither) of this and
|
||||
* {@link #supportsIfExistsAfterTableName} should return true.
|
||||
*
|
||||
* @return {@code true} if {@code if exists} can be applied before the table name
|
||||
|
@ -2949,8 +2949,8 @@ public abstract class Dialect implements ConversionContext {
|
|||
/**
|
||||
* For dropping a table, can the phrase {@code if exists} be
|
||||
* applied after the table name?
|
||||
* <p>
|
||||
* NOTE : Only one or the other (or neither) of this and
|
||||
*
|
||||
* @apiNote Only one or the other (or neither) of this and
|
||||
* {@link #supportsIfExistsBeforeTableName} should return true.
|
||||
*
|
||||
* @return {@code true} if {@code if exists} can be applied after the table name
|
||||
|
@ -2963,8 +2963,8 @@ public abstract class Dialect implements ConversionContext {
|
|||
* For dropping a constraint with an {@code alter table} statement,
|
||||
* can the phrase {@code if exists} be applied before the constraint
|
||||
* name?
|
||||
* <p>
|
||||
* NOTE : Only one or the other (or neither) of this and
|
||||
*
|
||||
* @apiNote Only one or the other (or neither) of this and
|
||||
* {@link #supportsIfExistsAfterConstraintName} should return true
|
||||
*
|
||||
* @return {@code true} if {@code if exists} can be applied before the constraint name
|
||||
|
@ -2976,8 +2976,8 @@ public abstract class Dialect implements ConversionContext {
|
|||
/**
|
||||
* For dropping a constraint with an {@code alter table}, can the phrase
|
||||
* {@code if exists} be applied after the constraint name?
|
||||
* <p>
|
||||
* NOTE : Only one or the other (or neither) of this and
|
||||
*
|
||||
* @apiNote Only one or the other (or neither) of this and
|
||||
* {@link #supportsIfExistsBeforeConstraintName} should return true.
|
||||
*
|
||||
* @return {@code true} if {@code if exists} can be applied after the constraint name
|
||||
|
@ -3141,8 +3141,8 @@ public abstract class Dialect implements ConversionContext {
|
|||
* {@link ResultSet#isAfterLast} and
|
||||
* {@link ResultSet#isBeforeFirst}. Certain drivers do not
|
||||
* allow access to these methods for forward only cursors.
|
||||
* <p>
|
||||
* NOTE : this is highly driver dependent!
|
||||
*
|
||||
* @apiNote This is highly driver dependent!
|
||||
*
|
||||
* @return True if methods like {@link ResultSet#isAfterLast} and
|
||||
* {@link ResultSet#isBeforeFirst} are supported for forward
|
||||
|
@ -3215,8 +3215,8 @@ public abstract class Dialect implements ConversionContext {
|
|||
* {@link Clob#setString(long, String)},
|
||||
* {@link Clob#setString(long, String, int, int)},
|
||||
* or {@link Clob#truncate(long)}.
|
||||
* <p>
|
||||
* NOTE : I do not know the correct answer currently for
|
||||
*
|
||||
* @implNote I do not know the correct answer currently for
|
||||
* databases which (1) are not part of the cruise control process
|
||||
* or (2) do not {@link #supportsExpectedLobUsagePattern}.
|
||||
*
|
||||
|
@ -3235,9 +3235,9 @@ public abstract class Dialect implements ConversionContext {
|
|||
* <p>
|
||||
* Again, part of the trickiness here is the fact that this is largely
|
||||
* driver dependent.
|
||||
* <p>
|
||||
* NOTE: all database I have tested which {@link #supportsExpectedLobUsagePattern()}
|
||||
* also support the ability to materialize a LOB outside the owning transaction...
|
||||
*
|
||||
* @implNote All database I have tested which {@link #supportsExpectedLobUsagePattern()}
|
||||
* also support the ability to materialize a LOB outside the owning transaction.
|
||||
*
|
||||
* @return True if unbounded materialization is supported; false otherwise.
|
||||
* @since 3.2
|
||||
|
|
|
@ -116,15 +116,13 @@ public abstract class AbstractLimitHandler implements LimitHandler {
|
|||
}
|
||||
|
||||
/**
|
||||
* Hibernate {@link Query#setFirstResult(int)} accepts
|
||||
* a zero-based offset. Does this dialect require a one-based offset to be
|
||||
* specified in the offset clause?
|
||||
* <p>
|
||||
* NOTE: what gets passed into
|
||||
* {@link AbstractLimitHandler#processSql(String, Limit)}
|
||||
* is the zero-based offset. Handlers which do not {@link #supportsVariableLimit}
|
||||
* should take care to perform any needed first-row-conversion calls prior
|
||||
* to injecting the limit values into the SQL string.
|
||||
* The API method {@link Query#setFirstResult(int)} accepts a zero-based offset.
|
||||
* Does this dialect require a one-based offset to be specified in the offset clause?
|
||||
*
|
||||
* @implNote The value passed into {@link AbstractLimitHandler#processSql(String, Limit)}
|
||||
* has a zero-based offset. Handlers which do not {@link #supportsVariableLimit}
|
||||
* should take care to perform any needed first-row-conversion calls prior to
|
||||
* injecting the limit values into the SQL string.
|
||||
*
|
||||
* @param zeroBasedFirstResult The user-supplied, zero-based first row offset.
|
||||
*
|
||||
|
|
|
@ -76,7 +76,7 @@ public interface UniqueDelegate {
|
|||
* @param table The table for which to generate the unique constraints fragment
|
||||
* @param context A context for SQL string generation
|
||||
* @return The fragment, typically in the form {@code ", unique(col1, col2), unique(col20)"}.
|
||||
* NOTE: The leading comma is important!
|
||||
* The leading comma is important!
|
||||
*/
|
||||
String getTableCreationUniqueConstraintsFragment(Table table, SqlStringGenerationContext context);
|
||||
|
||||
|
|
|
@ -72,12 +72,12 @@ import static org.hibernate.engine.internal.ManagedTypeHelper.asPersistentAttrib
|
|||
import static org.hibernate.engine.internal.ManagedTypeHelper.isPersistentAttributeInterceptable;
|
||||
|
||||
/**
|
||||
* A <strong>stateful</strong> implementation of the {@link PersistenceContext} contract meaning that we maintain this
|
||||
* A <em>stateful</em> implementation of the {@link PersistenceContext} contract, meaning that we maintain this
|
||||
* state throughout the life of the persistence context.
|
||||
* <p>
|
||||
* IMPL NOTE: There is meant to be a one-to-one correspondence between a {@link org.hibernate.internal.SessionImpl}
|
||||
* and a PersistentContext. Event listeners and other Session collaborators then use the PersistentContext to drive
|
||||
* their processing.
|
||||
*
|
||||
* @implNote There is meant to be a one-to-one correspondence between a {@link org.hibernate.internal.SessionImpl}
|
||||
* and a {@link PersistenceContext}. Event listeners and other session collaborators then use the
|
||||
* {@code PersistenceContext} to drive their processing.
|
||||
*
|
||||
* @author Steve Ebersole
|
||||
* @author Sanne Grinovero
|
||||
|
|
|
@ -12,10 +12,10 @@ import java.io.Serializable;
|
|||
|
||||
/**
|
||||
* Models size restrictions/requirements on a column's datatype.
|
||||
* <p>
|
||||
* IMPL NOTE: since we do not necessarily know the datatype up front, and therefore do not necessarily know
|
||||
* whether length or precision/scale sizing is needed, we simply account for both here. Additionally LOB
|
||||
* definitions, by standard, are allowed a "multiplier" consisting of 'K' (Kb), 'M' (Mb) or 'G' (Gb).
|
||||
*
|
||||
* @implNote Since we do not necessarily know the datatype up front, and therefore do not necessarily know
|
||||
* whether length or precision/scale sizing is needed, we simply account for both here. Additionally, LOB
|
||||
* sizes, by standard, are allowed a "multiplier", {@code K} (Kb), {@code M} (Mb) or {@code G} (Gb).
|
||||
*
|
||||
* @author Steve Ebersole
|
||||
*/
|
||||
|
|
|
@ -44,8 +44,8 @@ import static org.hibernate.internal.log.ConnectionPoolingLogger.CONNECTIONS_MES
|
|||
/**
|
||||
* A connection provider that uses the {@link DriverManager} directly to open connections and provides
|
||||
* a very rudimentary connection pool.
|
||||
* <p>
|
||||
* IMPL NOTE : not intended for production use!
|
||||
*
|
||||
* @implNote Not intended for use in production systems!
|
||||
*
|
||||
* @author Gavin King
|
||||
* @author Steve Ebersole
|
||||
|
|
|
@ -45,9 +45,7 @@ import org.hibernate.resource.jdbc.spi.LogicalConnectionImplementor;
|
|||
import org.hibernate.resource.transaction.backend.jdbc.spi.JdbcResourceTransaction;
|
||||
|
||||
/**
|
||||
* Standard Hibernate implementation of {@link JdbcCoordinator}
|
||||
* <p>
|
||||
* IMPL NOTE : Custom serialization handling!
|
||||
* Standard implementation of {@link JdbcCoordinator}.
|
||||
*
|
||||
* @author Steve Ebersole
|
||||
* @author Brett Meyer
|
||||
|
|
|
@ -73,10 +73,8 @@ public class SqlExceptionHelper {
|
|||
|
||||
/**
|
||||
* Inject the exception converter to use.
|
||||
* <p>
|
||||
* NOTE : {@code null} is allowed and signifies to use the default.
|
||||
*
|
||||
* @param sqlExceptionConverter The converter to use.
|
||||
* @param sqlExceptionConverter the converter to use, or {@code null} if the default converter should be used
|
||||
*/
|
||||
public void setSqlExceptionConverter(SQLExceptionConverter sqlExceptionConverter) {
|
||||
this.sqlExceptionConverter = sqlExceptionConverter == null ? DEFAULT_CONVERTER : sqlExceptionConverter;
|
||||
|
|
|
@ -13,7 +13,7 @@ import org.hibernate.metamodel.model.domain.internal.EntityTypeImpl;
|
|||
import org.hibernate.query.QueryParameter;
|
||||
|
||||
/**
|
||||
* NOTE: Consider this contract (and its sub-contracts) as incubating as we transition to 6.0 and SQM
|
||||
* @apiNote Consider this contract (and its subcontracts) as incubating as we transition to 6.0 and SQM.
|
||||
*
|
||||
* @author Steve Ebersole
|
||||
*/
|
||||
|
|
|
@ -1041,8 +1041,8 @@ public class ActionQueue {
|
|||
* certain that we do not circumvent this FK ordering to the extent of causing constraint violations.
|
||||
* <p>
|
||||
* Sorts the insert actions using more hashes.
|
||||
* </p>
|
||||
* NOTE: this class is not thread-safe.
|
||||
*
|
||||
* @implNote This class is not thread-safe.
|
||||
*
|
||||
* @author Jay Erb
|
||||
*/
|
||||
|
|
|
@ -36,10 +36,10 @@ public final class EntityKey implements Serializable {
|
|||
|
||||
/**
|
||||
* Construct a unique identifier for an entity class instance.
|
||||
* <p>
|
||||
* NOTE : This signature has changed to accommodate both entity mode and multi-tenancy, both of which relate to
|
||||
* the Session to which this key belongs. To help minimize the impact of these changes in the future, the
|
||||
* {@link SessionImplementor#generateEntityKey} method was added to hide the session-specific changes.
|
||||
*
|
||||
* @apiNote This signature has changed to accommodate both entity mode and multi-tenancy, both of which relate to
|
||||
* the session to which this key belongs. To help minimize the impact of these changes in the future, the
|
||||
* {@link SessionImplementor#generateEntityKey} method was added to hide the session-specific changes.
|
||||
*
|
||||
* @param id The entity id
|
||||
* @param persister The entity persister
|
||||
|
|
|
@ -18,9 +18,8 @@ import org.hibernate.generator.Generator;
|
|||
public interface BulkInsertionCapableIdentifierGenerator extends Generator {
|
||||
/**
|
||||
* Given the configuration of this generator, is identifier generation as part of bulk insertion supported?
|
||||
* <p>
|
||||
* IMPL NOTE : Mainly here to allow stuff like SequenceStyleGenerator which *can* support this based on
|
||||
* configuration
|
||||
*
|
||||
* @apiNote Mainly here to allow stuff like SequenceStyleGenerator which can support this based on configuration
|
||||
*
|
||||
* @return {@code true} if bulk insertions are supported; {@code false} otherwise.
|
||||
*/
|
||||
|
|
|
@ -22,19 +22,21 @@ public enum EntityIdentifierNature {
|
|||
|
||||
/**
|
||||
* What Hibernate used to term an "embedded composite identifier", which is not to be confused with the JPA
|
||||
* term embedded. Resolved as a tuple of basic type values and mapped over multiple singular attributes.
|
||||
* Specifically a composite identifier where there is no single attribute representing the composite value.
|
||||
* Equivalent of:<ul>
|
||||
* term "embedded". Resolved as a tuple of basic type values and mapped over multiple singular attributes.
|
||||
* More precisely, a composite identifier where there is no single attribute representing the composite value.
|
||||
* <p>
|
||||
* Equivalent to:
|
||||
* <ul>
|
||||
* <li>
|
||||
* a {@code <composite-id/>} mapping without a specified {@code name} XML-attribute (which would name
|
||||
* the single identifier attribute
|
||||
* a {@code <composite-id/>} mapping <em>without</em> a specified {@code name} XML-attribute
|
||||
* (which would name the single identifier attribute, if it were specified), or
|
||||
* </li>
|
||||
* <li>
|
||||
* multiple {@code @Id} annotations
|
||||
* multiple {@code @Id} annotations.
|
||||
* </li>
|
||||
* </ul>
|
||||
*
|
||||
* NOTE : May or may not have a related "lookup identifier class" as indicated by a {@code @IdClass} annotation.
|
||||
* <p>
|
||||
* May or may not have a related "lookup identifier class" as indicated by an {@code @IdClass} annotation.
|
||||
*
|
||||
* @see jakarta.persistence.IdClass
|
||||
*/
|
||||
|
|
|
@ -63,17 +63,16 @@ import static org.hibernate.internal.util.config.ConfigurationHelper.getString;
|
|||
/**
|
||||
* An enhanced version of table-based id generation.
|
||||
* <p>
|
||||
* Unlike the simplistic legacy one (which, btw, was only ever intended for subclassing
|
||||
* support) we "segment" the table into multiple values. Thus a single table can
|
||||
* Unlike the simplistic legacy one (which was only ever intended for subclassing
|
||||
* support) we "segment" the table into multiple values. Thus, a single table can
|
||||
* actually serve as the persistent storage for multiple independent generators. One
|
||||
* approach would be to segment the values by the name of the entity for which we are
|
||||
* performing generation, which would mean that we would have a row in the generator
|
||||
* table for each entity name. Or any configuration really; the setup is very flexible.
|
||||
* <p>
|
||||
* <b>NOTE</b> that by default we use a single row for all generators (based
|
||||
* on {@link #DEF_SEGMENT_VALUE}). The configuration parameter
|
||||
* {@link #CONFIG_PREFER_SEGMENT_PER_ENTITY} can be used to change that to
|
||||
* instead default to using a row for each entity name.
|
||||
* Byy default we use a single row for all generators (based on {@link #DEF_SEGMENT_VALUE}).
|
||||
* The configuration parameter {@link #CONFIG_PREFER_SEGMENT_PER_ENTITY} can be used to
|
||||
* change that to instead default to using a row for each entity name.
|
||||
* <p>
|
||||
* <table>
|
||||
* <caption>Configuration parameters</caption>
|
||||
|
@ -100,12 +99,14 @@ import static org.hibernate.internal.util.config.ConfigurationHelper.getString;
|
|||
* <tr>
|
||||
* <td>{@link #SEGMENT_VALUE_PARAM}</td>
|
||||
* <td>{@link #DEF_SEGMENT_VALUE}</td>
|
||||
* <td>The value indicating which segment is used by this generator; refers to values in the {@link #SEGMENT_COLUMN_PARAM} column</td>
|
||||
* <td>The value indicating which segment is used by this generator;
|
||||
* refers to values in the {@link #SEGMENT_COLUMN_PARAM} column</td>
|
||||
* </tr>
|
||||
* <tr>
|
||||
* <td>{@link #SEGMENT_LENGTH_PARAM}</td>
|
||||
* <td>{@link #DEF_SEGMENT_LENGTH}</td>
|
||||
* <td>The data length of the {@link #SEGMENT_COLUMN_PARAM} column; used for schema creation</td>
|
||||
* <td>The data length of the {@link #SEGMENT_COLUMN_PARAM} column;
|
||||
* used for schema creation</td>
|
||||
* </tr>
|
||||
* <tr>
|
||||
* <td>{@link #INITIAL_PARAM}</td>
|
||||
|
@ -115,7 +116,8 @@ import static org.hibernate.internal.util.config.ConfigurationHelper.getString;
|
|||
* <tr>
|
||||
* <td>{@link #INCREMENT_PARAM}</td>
|
||||
* <td>{@link #DEFAULT_INCREMENT_SIZE}</td>
|
||||
* <td>The increment size for the underlying segment; see the discussion on {@link Optimizer} for more details.</td>
|
||||
* <td>The increment size for the underlying segment;
|
||||
* see the discussion on {@link Optimizer} for more details.</td>
|
||||
* </tr>
|
||||
* <tr>
|
||||
* <td>{@link #OPT_PARAM}</td>
|
||||
|
@ -259,9 +261,9 @@ public class TableGenerator implements PersistentIdentifierGenerator {
|
|||
/**
|
||||
* The size of the {@link #getSegmentColumnName segment column} in the
|
||||
* underlying table.
|
||||
* <p>
|
||||
* <b>NOTE</b> : should really have been called 'segmentColumnLength' or
|
||||
* even better 'segmentColumnSize'
|
||||
*
|
||||
* @apiNote This should really have been called {@code segmentColumnLength}
|
||||
* or even better {@code segmentColumnSize}.
|
||||
*
|
||||
* @return the column size.
|
||||
*/
|
||||
|
|
|
@ -17,9 +17,9 @@ import org.hibernate.internal.util.BytesHelper;
|
|||
* Applies a version 1 (time-based) generation strategy (using ip address rather than mac address) but applies them in a
|
||||
* different layout. The strategy is very similar to the legacy {@link org.hibernate.id.UUIDHexGenerator} id generator
|
||||
* but uses a RFC 4122 compliant layout (variant 2).
|
||||
* <p>
|
||||
* NOTE : Can be a bottle neck due to the need to synchronize in order to increment an
|
||||
* internal count as part of the algorithm.
|
||||
*
|
||||
* @implNote Can be a bottleneck due to the need to synchronize in order to increment an internal count as part of the
|
||||
* algorithm.
|
||||
*
|
||||
* @author Steve Ebersole
|
||||
*/
|
||||
|
|
|
@ -14,9 +14,13 @@ import org.hibernate.service.spi.SessionFactoryServiceRegistry;
|
|||
|
||||
/**
|
||||
* Contract for stuff that integrates with Hibernate.
|
||||
* <p>
|
||||
* IMPL NOTE: called during session factory initialization (constructor), so not all parts of the passed session factory
|
||||
* will be available.
|
||||
*
|
||||
* @implNote {@link #integrate(Metadata, BootstrapContext, SessionFactoryImplementor)}
|
||||
* is called during the process of {@linkplain SessionFactoryImplementor
|
||||
* session factory} initialization. In fact, it's called directly from the
|
||||
* constructor of {@link org.hibernate.internal.SessionFactoryImpl}. So the
|
||||
* passed session factory is not yet fully-initialized and is in a very
|
||||
* fragile state.
|
||||
*
|
||||
* @author Steve Ebersole
|
||||
* @since 4.0
|
||||
|
|
|
@ -13,9 +13,9 @@ public final class BytesHelper {
|
|||
}
|
||||
|
||||
/**
|
||||
* Custom algorithm used to generate an int from a series of bytes.
|
||||
* <p>
|
||||
* NOTE : this is different than interpreting the incoming bytes as an int value!
|
||||
* Custom algorithm used to generate an {@code int} from a series of bytes.
|
||||
*
|
||||
* @implNote This is different to interpreting the incoming bytes as an {@code int}!
|
||||
*
|
||||
* @param bytes The bytes to use in generating the int.
|
||||
*
|
||||
|
|
|
@ -12,12 +12,9 @@ import org.hibernate.type.descriptor.java.JavaType;
|
|||
import org.hibernate.type.descriptor.java.JavaTypedExpressible;
|
||||
|
||||
/**
|
||||
* Describes a mapping related to any part of the app's domain model - e.g.
|
||||
* an attribute, an entity identifier, collection elements, etc
|
||||
*
|
||||
* NOTE : this does not include EntityPersister, which however is a ValueMappingContainer
|
||||
*
|
||||
* Used in generation of SQL AST
|
||||
* Describes a mapping related to any part of the app's domain model,
|
||||
* for example, an attribute, an entity identifier, collection elements, etc.
|
||||
* Used during generation of a SQL AST.
|
||||
*
|
||||
* @author Steve Ebersole
|
||||
*/
|
||||
|
|
|
@ -76,8 +76,8 @@ import org.hibernate.type.spi.TypeConfiguration;
|
|||
/**
|
||||
* Describes a "normal" embeddable.
|
||||
*
|
||||
* NOTE: At the moment, this class is used to describe some non-normal cases: mainly
|
||||
* composite fks
|
||||
* @apiNote At the moment, this class is also used to describe some non-"normal" things:
|
||||
* mainly composite foreign keys.
|
||||
*/
|
||||
public class EmbeddableMappingTypeImpl extends AbstractEmbeddableMapping implements SelectableMappings {
|
||||
public static EmbeddableMappingTypeImpl from(
|
||||
|
|
|
@ -32,8 +32,8 @@ import org.jboss.logging.Logger;
|
|||
* Defines commonality for the JPA {@link IdentifiableType} types. JPA defines
|
||||
* identifiable types as entities or mapped-superclasses. Basically things to which an
|
||||
* identifier can be attached.
|
||||
* <p>
|
||||
* NOTE : Currently we only really have support for direct entities in the Hibernate metamodel
|
||||
*
|
||||
* @apiNote Currently we only really have support for direct entities in the Hibernate metamodel
|
||||
* as the information for them is consumed into the closest actual entity subclass(es) in the
|
||||
* internal Hibernate mapping-metamodel.
|
||||
*
|
||||
|
|
|
@ -10,11 +10,11 @@ import org.hibernate.Incubating;
|
|||
import org.hibernate.engine.spi.SessionFactoryImplementor;
|
||||
|
||||
/**
|
||||
* Contract for instantiating embeddable values
|
||||
* Contract for instantiating embeddable values.
|
||||
*
|
||||
* NOTE : incubating until the proposed
|
||||
* `instantiate(IntFunction valueAccess, SessionFactoryImplementor sessionFactory)`
|
||||
* form can be implemented
|
||||
* @apiNote Incubating until the proposed
|
||||
* {@code instantiate(IntFunction valueAccess, SessionFactoryImplementor sessionFactory)}
|
||||
* form can be implemented.
|
||||
*
|
||||
* @see org.hibernate.annotations.EmbeddableInstantiator
|
||||
*/
|
||||
|
|
|
@ -104,9 +104,9 @@ public interface Loadable extends EntityPersister {
|
|||
/**
|
||||
* Given a column name and the root table alias in use for the entity hierarchy, determine the proper table alias
|
||||
* for the table in that hierarchy that contains said column.
|
||||
* <p>
|
||||
* NOTE : Generally speaking the column is not validated to exist. Most implementations simply return the
|
||||
* root alias; the exception is {@link JoinedSubclassEntityPersister}
|
||||
*
|
||||
* @implNote Generally speaking the column is not validated to exist. Most implementations simply return the
|
||||
* root alias; the exception is {@link JoinedSubclassEntityPersister}.
|
||||
*
|
||||
* @param columnName The column name
|
||||
* @param rootAlias The hierarchy root alias
|
||||
|
|
|
@ -73,15 +73,15 @@ public interface ProcedureCall
|
|||
String getProcedureName();
|
||||
|
||||
/**
|
||||
* Does this ProcedureCall represent a call to a database FUNCTION (as opposed
|
||||
* to a PROCEDURE call)?
|
||||
* Does this {@code ProcedureCall} represent a call to a database {@code FUNCTION},
|
||||
* as opposed to a {@code PROCEDURE}?
|
||||
*
|
||||
* NOTE : this will only report whether this ProcedureCall was marked
|
||||
* as a function via call to {@link #markAsFunctionCall}. Specifically
|
||||
* will not return {@code true} when using JPA query hint.
|
||||
* @apiNote this will only report whether this {@code ProcedureCall} was marked
|
||||
* as a function via call to {@link #markAsFunctionCall}. In particular,
|
||||
* it will not return {@code true} when using JPA query hint.
|
||||
*
|
||||
* @return {@code true} indicates that this ProcedureCall represents a
|
||||
* function call; {@code false} indicates a procedure call.
|
||||
* function call; {@code false} indicates a procedure call.
|
||||
*/
|
||||
boolean isFunctionCall();
|
||||
|
||||
|
|
|
@ -19,7 +19,7 @@ import org.hibernate.property.access.spi.SetterMethodImpl;
|
|||
import org.jboss.logging.Logger;
|
||||
|
||||
/**
|
||||
* PropertyAccessor for accessing the wrapped property via get/set pair, which may be nonpublic.
|
||||
* {@link PropertyAccess} for accessing the wrapped property via get/set pair, which may be nonpublic.
|
||||
*
|
||||
* @author Steve Ebersole
|
||||
*
|
||||
|
|
|
@ -19,7 +19,7 @@ import org.hibernate.property.access.spi.PropertyAccessStrategy;
|
|||
import org.hibernate.property.access.spi.Setter;
|
||||
|
||||
/**
|
||||
* PropertyAccessor for accessing the wrapped property via get/set pair, which may be nonpublic.
|
||||
* {@link PropertyAccess} for accessing the wrapped property via get/set pair, which may be nonpublic.
|
||||
*
|
||||
* @author Steve Ebersole
|
||||
*
|
||||
|
|
|
@ -18,11 +18,11 @@ import org.hibernate.property.access.spi.PropertyAccessStrategy;
|
|||
import org.hibernate.property.access.spi.Setter;
|
||||
|
||||
/**
|
||||
* PropertyAccess for handling non-aggregated composites.
|
||||
* <p>
|
||||
* IMPL NOTE : We actually use a singleton for the Setter; we cannot for the getter mainly
|
||||
* because we need to differentiate {@link Getter#getReturnTypeClass()}. Ultimately I'd prefer to
|
||||
* model that "common information" on PropertyAccess itself.
|
||||
* {@link PropertyAccess} for handling non-aggregated composites.
|
||||
*
|
||||
* @implNote We actually use a singleton for the {@link Setter}; we cannot for the getter mainly
|
||||
* because we need to differentiate {@link Getter#getReturnTypeClass()}. Ultimately I'd
|
||||
* prefer to model that "common information" on {@link PropertyAccess} itself.
|
||||
*
|
||||
* @author Gavin King
|
||||
* @author Steve Ebersole
|
||||
|
|
|
@ -7,13 +7,14 @@
|
|||
package org.hibernate.property.access.internal;
|
||||
|
||||
import org.hibernate.property.access.spi.EnhancedSetterImpl;
|
||||
import org.hibernate.property.access.spi.PropertyAccess;
|
||||
import org.hibernate.property.access.spi.PropertyAccessStrategy;
|
||||
import org.hibernate.property.access.spi.Setter;
|
||||
|
||||
import java.lang.reflect.Field;
|
||||
|
||||
/**
|
||||
* A PropertyAccess for byte code enhanced entities. Enhanced setter methods ( if available ) are used for
|
||||
* A {@link PropertyAccess} for byte code enhanced entities. Enhanced setter methods ( if available ) are used for
|
||||
* property writes. Regular getter methods/fields are used for property access. Based upon PropertyAccessMixedImpl.
|
||||
*
|
||||
* @author Steve Ebersole
|
||||
|
|
|
@ -18,8 +18,8 @@ import org.hibernate.property.access.spi.PropertyAccessStrategy;
|
|||
import org.hibernate.property.access.spi.Setter;
|
||||
|
||||
/**
|
||||
* PropertyAccess implementation that deal with an underlying Map as the container using
|
||||
* {@link Map#get} and {@link Map#put}
|
||||
* {@link PropertyAccess} implementation that deals with an underlying {@code Map}
|
||||
* as the container, using {@link Map#get} and {@link Map#put}.
|
||||
*
|
||||
* @author Steve Ebersole
|
||||
* @author Gavin King
|
||||
|
|
|
@ -28,7 +28,7 @@ import static org.hibernate.internal.util.ReflectHelper.getterMethodOrNull;
|
|||
import static org.hibernate.internal.util.ReflectHelper.findSetterMethod;
|
||||
|
||||
/**
|
||||
* A PropertyAccess based on mix of getter/setter method and/or field.
|
||||
* A {@link PropertyAccess} based on mix of getter/setter method and/or field.
|
||||
*
|
||||
* @author Steve Ebersole
|
||||
*/
|
||||
|
|
|
@ -18,8 +18,6 @@ import org.hibernate.property.access.spi.PropertyAccessStrategy;
|
|||
import org.hibernate.property.access.spi.Setter;
|
||||
|
||||
/**
|
||||
* Yeah, right, so.... No idea...
|
||||
*
|
||||
* @author Michael Bartmann
|
||||
* @author Gavin King
|
||||
* @author Steve Ebersole
|
||||
|
|
|
@ -196,12 +196,12 @@ public interface SelectionQuery<R> extends CommonQueryContract {
|
|||
SelectionQuery<R> setTimeout(int timeout);
|
||||
|
||||
/**
|
||||
* Obtain the JDBC fetch size hint in effect for this query. This value is eventually passed along to the JDBC
|
||||
* query via {@link java.sql.Statement#setFetchSize(int)}. As defined b y JDBC, this value is a hint to the
|
||||
* Obtain the JDBC fetch size hint in effect for this query. This value is eventually passed along to the JDBC
|
||||
* query via {@link java.sql.Statement#setFetchSize(int)}. As defined by JDBC, this value is a hint to the
|
||||
* driver to indicate how many rows to fetch from the database when more rows are needed.
|
||||
* <p>
|
||||
* NOTE : JDBC expressly defines this value as a hint. It may or may not have any effect on the actual
|
||||
* query execution and ResultSet processing depending on the driver.
|
||||
*
|
||||
* @implNote JDBC expressly defines this value as a hint. Depending on the driver, it may or may not have any
|
||||
* effect on the actual query execution and {@link java.sql.ResultSet} processing .
|
||||
*
|
||||
* @return The timeout <b>in seconds</b>
|
||||
*
|
||||
|
@ -299,8 +299,8 @@ public interface SelectionQuery<R> extends CommonQueryContract {
|
|||
* the query inherits the {@link CacheMode} of the session from which
|
||||
* it originates.
|
||||
* <p>
|
||||
* NOTE: The {@link CacheMode} here describes reading-from/writing-to
|
||||
* the entity/collection caches as we process query results. For caching
|
||||
* The {@link CacheMode} here describes reading-from/writing-to the
|
||||
* entity/collection caches as we process query results. For caching
|
||||
* of the actual query results, see {@link #isCacheable()} and
|
||||
* {@link #getCacheRegion()}
|
||||
* <p>
|
||||
|
@ -357,8 +357,8 @@ public interface SelectionQuery<R> extends CommonQueryContract {
|
|||
* This is different to second level caching of any returned entities and
|
||||
* collections, which is controlled by {@link #getCacheMode()}.
|
||||
* <p>
|
||||
* NOTE: the query being "eligible" for caching does not necessarily mean
|
||||
* its results will be cached. Second-level query caching still has to be
|
||||
* The query being "eligible" for caching does not necessarily mean its
|
||||
* results will be cached. Second-level query caching still has to be
|
||||
* enabled on the {@link SessionFactory} for this to happen. Usually that
|
||||
* is controlled by the configuration setting
|
||||
* {@value org.hibernate.cfg.AvailableSettings#USE_QUERY_CACHE}.
|
||||
|
|
|
@ -766,10 +766,9 @@ public interface HibernateCriteriaBuilder extends CriteriaBuilder {
|
|||
|
||||
/**
|
||||
* Create a predicate that tests whether a Map is empty.
|
||||
* <p>
|
||||
* NOTE : Due to type-erasure we cannot name this the same as
|
||||
* {@link CriteriaBuilder#isEmpty}
|
||||
*
|
||||
* @apiNote Due to type-erasure we cannot name this the same as
|
||||
* {@link CriteriaBuilder#isEmpty}.
|
||||
*
|
||||
* @param mapExpression The expression resolving to a Map which we
|
||||
* want to check for emptiness
|
||||
|
@ -779,11 +778,10 @@ public interface HibernateCriteriaBuilder extends CriteriaBuilder {
|
|||
<M extends Map<?,?>> JpaPredicate isMapEmpty(JpaExpression<M> mapExpression);
|
||||
|
||||
/**
|
||||
* Create a predicate that tests whether a Map is
|
||||
* not empty.
|
||||
* <p>
|
||||
* NOTE : Due to type-erasure we cannot name this the same as
|
||||
* {@link CriteriaBuilder#isNotEmpty}
|
||||
* Create a predicate that tests whether a Map is not empty.
|
||||
*
|
||||
* @apiNote Due to type-erasure we cannot name this the same as
|
||||
* {@link CriteriaBuilder#isNotEmpty}
|
||||
*
|
||||
* @param mapExpression The expression resolving to a Map which we
|
||||
* want to check for non-emptiness
|
||||
|
@ -794,9 +792,9 @@ public interface HibernateCriteriaBuilder extends CriteriaBuilder {
|
|||
|
||||
/**
|
||||
* Create an expression that tests the size of a map.
|
||||
* <p>
|
||||
* NOTE : Due to type-erasure we cannot name this the same as
|
||||
* {@link CriteriaBuilder#size}
|
||||
*
|
||||
* @apiNote Due to type-erasure we cannot name this the same as
|
||||
* {@link CriteriaBuilder#size}
|
||||
*
|
||||
* @param mapExpression The expression resolving to a Map for which we
|
||||
* want to know the size
|
||||
|
|
|
@ -12,7 +12,7 @@ import org.hibernate.query.QueryParameter;
|
|||
import jakarta.persistence.ParameterMode;
|
||||
|
||||
/**
|
||||
* NOTE: Consider this contract (and its sub-contracts) as incubating as we transition to 6.0 and SQM
|
||||
* @apiNote Consider this contract (and its subcontracts) as incubating as we transition to 6.0 and SQM.
|
||||
*
|
||||
* @author Steve Ebersole
|
||||
*/
|
||||
|
|
|
@ -11,13 +11,13 @@
|
|||
* These result-set mappings are used to map the values in the JDBC {@link java.sql.ResultSet}
|
||||
* into the query result graph.
|
||||
* <p>
|
||||
* NOTE : Handling the different sources of results and fetches is split into multiple packages
|
||||
* and multiple impls for performance reasons. The classes in {@link org.hibernate.query.results.complete}
|
||||
* Handling the different sources of results and fetches is split into multiple packages and
|
||||
* multiple impls for performance reasons. The classes in {@link org.hibernate.query.results.complete}
|
||||
* represent result/fetch definitions that are completely known up-front and are faster to
|
||||
* resolve. The definitions in {@link org.hibernate.query.results.dynamic} are built incrementally
|
||||
* resolve. The definitions in {@link org.hibernate.query.results.dynamic} are built incrementally
|
||||
* via Hibernate's {@link org.hibernate.query.NativeQuery} contract need to resolve themselves
|
||||
* against other dynamic result/fetch definitions and therefore take more resources to resolve. The
|
||||
* classes in {@link org.hibernate.query.results.implicit} represent results that are implied
|
||||
* against other dynamic result/fetch definitions and therefore take more resources to resolve.
|
||||
* The classes in {@link org.hibernate.query.results.implicit} represent results that are implied.
|
||||
*
|
||||
* @see org.hibernate.query.results.ResultSetMapping
|
||||
*
|
||||
|
|
|
@ -10,9 +10,9 @@ import org.hibernate.query.SemanticException;
|
|||
|
||||
/**
|
||||
* Indicates we were not able to resolve a given "path structure" as an entity name.
|
||||
* <p>
|
||||
* NOTE : JPA generally requires this to be reported as the far less useful
|
||||
* IllegalArgumentException.
|
||||
*
|
||||
* @apiNote JPA generally requires this to be reported as the much less useful
|
||||
* {@link IllegalArgumentException}.
|
||||
*
|
||||
* todo (6.0) : account for this in the "exception conversion" handling
|
||||
*
|
||||
|
|
|
@ -19,7 +19,7 @@ public interface FunctionArgumentTypeResolver {
|
|||
/**
|
||||
* Resolve the argument type for a function given its context-implied return type.
|
||||
* <p>
|
||||
* NOTE : the _context-implied_ type is the type implied by where the function's
|
||||
* The <em>context-implied</em> type is the type implied by where the function
|
||||
* occurs in the query. E.g., for an equality predicate (`something = some_function`)
|
||||
* the implied type would be defined by the type of `something`.
|
||||
*
|
||||
|
|
|
@ -25,7 +25,7 @@ public interface FunctionReturnTypeResolver {
|
|||
* Resolve the return type for a function given its context-implied type and
|
||||
* the arguments to this call.
|
||||
* <p>
|
||||
* NOTE : the _context-implied_ type is the type implied by where the function's
|
||||
* The <em>context-implied</em> type is the type implied by where the function
|
||||
* occurs in the query. E.g., for an equality predicate (`something = some_function`)
|
||||
* the implied type of the return from `some_function` would be defined by the type
|
||||
* of `some_function`.
|
||||
|
@ -41,7 +41,7 @@ public interface FunctionReturnTypeResolver {
|
|||
* Resolve the return type for a function given its context-implied type and
|
||||
* the arguments to this call.
|
||||
* <p>
|
||||
* NOTE : the _context-implied_ type is the type implied by where the function's
|
||||
* The <em>context-implied</em> type is the type implied by where the function
|
||||
* occurs in the query. E.g., for an equality predicate (`something = some_function`)
|
||||
* the implied type of the return from `some_function` would be defined by the type
|
||||
* of `some_function`.
|
||||
|
|
|
@ -11,7 +11,7 @@ import java.io.Serializable;
|
|||
/**
|
||||
* Marker interface for services.
|
||||
* <p>
|
||||
* NOTE : All services must be {@link Serializable}!
|
||||
* All services must be {@link Serializable}!
|
||||
*
|
||||
* @author Steve Ebersole
|
||||
*/
|
||||
|
|
|
@ -32,8 +32,8 @@ public interface ServiceRegistry extends AutoCloseable {
|
|||
/**
|
||||
* Retrieve a service by role. If service is not found, but a {@link org.hibernate.service.spi.ServiceInitiator} is
|
||||
* registered for this service role, the service will be initialized and returned.
|
||||
* <p>
|
||||
* NOTE: We cannot return {@code <R extends Service<T>>} here because the service might come from the parent...
|
||||
*
|
||||
* @apiNote We cannot return {@code <R extends Service<T>>} here because the service might come from the parent.
|
||||
*
|
||||
* @param serviceRole The service role
|
||||
* @param <R> The service role type
|
||||
|
@ -47,8 +47,8 @@ public interface ServiceRegistry extends AutoCloseable {
|
|||
/**
|
||||
* Retrieve a service by role. If service is not found, but a {@link org.hibernate.service.spi.ServiceInitiator} is
|
||||
* registered for this service role, the service will be initialized and returned.
|
||||
* <p>
|
||||
* NOTE: We cannot return {@code <R extends Service<T>>} here because the service might come from the parent...
|
||||
*
|
||||
* @apiNote We cannot return {@code <R extends Service<T>>} here because the service might come from the parent.
|
||||
*
|
||||
* @param serviceRole The service role
|
||||
* @param <R> The service role type
|
||||
|
|
|
@ -30,7 +30,7 @@ import org.hibernate.sql.ast.tree.update.UpdateStatement;
|
|||
/**
|
||||
* Logs a debug representation of the SQL AST.
|
||||
*
|
||||
* NOTE : at the moment, we only render the from-elements
|
||||
* @implNote At the moment, we only render the from-elements.
|
||||
*
|
||||
* @author Steve Ebersole
|
||||
*/
|
||||
|
|
|
@ -11,8 +11,8 @@ import java.sql.PreparedStatement;
|
|||
import org.hibernate.engine.spi.SharedSessionContractImplementor;
|
||||
|
||||
/**
|
||||
* Helper for creating various types of
|
||||
* NOTE :
|
||||
* Helper for creating JDBC statements.
|
||||
*
|
||||
* @author Steve Ebersole
|
||||
*/
|
||||
public class StatementCreatorHelper {
|
||||
|
|
|
@ -1053,8 +1053,8 @@ public abstract class AbstractInformationExtractorImpl implements InformationExt
|
|||
* (not statisics) is being returned.
|
||||
* </li>
|
||||
* </ul>
|
||||
* NOTE: Hibernate ignores statistics and does not
|
||||
* care about the actual type of index.
|
||||
* Note that Hibernate ignores statistics and does not care
|
||||
* about the actual type of index.
|
||||
* </li>
|
||||
* <li>
|
||||
* column label {@link #getResultSetColumnNameLabel} -
|
||||
|
|
|
@ -16,7 +16,7 @@ import org.hibernate.tool.schema.extract.internal.TableInformationImpl;
|
|||
* from {@link java.sql.DatabaseMetaData} since on many databases there are better ways to get information from
|
||||
* the meta schema.
|
||||
*
|
||||
* NOTE : Concepts here taken largely from the {@code MetaDataDialect} class in Hibernate Tools.
|
||||
* @apiNote Concepts here taken largely from the {@code MetaDataDialect} class in Hibernate Tools.
|
||||
*
|
||||
* @author Steve Ebersole
|
||||
*/
|
||||
|
|
|
@ -66,7 +66,7 @@ public final class JdbcTypeNameMapper {
|
|||
* Determine whether the given JDBC type code represents a standard JDBC type
|
||||
* ("standard" being those defined on {@link java.sql.Types}).
|
||||
*
|
||||
* NOTE : {@link java.sql.Types#OTHER} is also "filtered out" as being non-standard.
|
||||
* @implNote {@link java.sql.Types#OTHER} is also "filtered out" as being non-standard.
|
||||
*
|
||||
* @param typeCode The JDBC type code to check
|
||||
*
|
||||
|
|
Loading…
Reference in New Issue