Deprecated API
Contents
-
Terminally Deprecated ElementsElementDescriptionuse the JPA 2.1
ForeignKeyannotationNeeded for backwards compatibility until the deprecated, legacy generation stuff can be removedThe options available here are all now offered by other newer and better-designed annotations in this package. This annotation will soon be removed, since it's very annoying to have two annotations named@Table.sinceTableis deprecatedno longer usedUse settings,TypeContributor,FunctionContributororAdditionalMappingContributorinstead depending on needWill be removed without replacement. See HHH-15641Will be removed without replacement. See HHH-15641UseBytecodeProvider.getReflectionOptimizer(Class, Map)inssteadThere are much better ways to control the flush mode of a session, for example,SessionBuilder.flushMode(org.hibernate.FlushMode)orSession.setHibernateFlushMode(org.hibernate.FlushMode).Will be removed, Hibernate ORM will use the BytecodeProvider implementation it finds on the classpath loading it via the standard ServiceLoader mechanism. Currently, there is only a single implementation which is included in Hibernate ORM, so it's not possible to override this. See HHH-17643Will be removed without replacement. See HHH-15641Will be removed without replacement. See HHH-15641Originally added as a backwards compatibility flagImplicitNamingStrategyandPhysicalNamingStrategyshould be used instead.UseGlobalTemporaryTableStrategy.CREATE_ID_TABLES.UseGlobalTemporaryTableStrategy.DROP_ID_TABLES.UseLocalTemporaryTableStrategy.DROP_ID_TABLES.UsePersistentTableStrategy.CREATE_ID_TABLES.UsePersistentTableStrategy.DROP_ID_TABLES.UseSecondPassinsteadWill be replaced withHANADialectin the future.useDialect.getCheckCondition(String, Long[])insteadThis is no longer calledThis is never called, and since at least Hibernate 5 has just returnedfalsein every dialect. It will be removed.This seems to be supported on all platforms, and we don't call this except in test suiteUseDialect.trimPattern(TrimSpec, boolean)instead.useHANADialectwithDatabaseVersion.make( 4 )insteaduseHANADialectinsteaduseHANADialectinsteadno longer used, useGetGeneratedKeysDelegateinsteadUseOracle12cGetGeneratedKeysDelegate(EntityPersister)instead.in favor ofSize(Integer, Integer, Long)in favor ofSize(Integer, Integer, Long)these integer codes have not been used for a long timethese integer codes have not been used for a long timeUseFetchStyleNo longer usedNo longer usedNo longer usedNo longer usedNo longer usedUse anExpectationclassthis is no longer usedthis is never calledthis is not used anywherethis is not used anywhereSubclasses should now directly inheritPostInsertIdentifierGeneratorandBulkInsertionCapableIdentifierGenerator, or even better, simply implementOnExecutionGeneratordirectly.should be removedThis remains around as an implementation detail ofhbm.xmlmappings.UseGeneratedValuesHelper.getGeneratedValues(java.sql.ResultSet, org.hibernate.persister.entity.EntityPersister, org.hibernate.generator.EventType, org.hibernate.type.descriptor.WrapperOptions)insteadUse aOnExecutionGeneratorThis is not an elegant way to do anythingNo longer usedNo substitute.UseBasicSelectingDelegate(EntityPersister)instead.UseGeneratedValuesMutationDelegateinstead.UseInsertReturningDelegate(EntityPersister, EventType)instead.UseSybaseJConnGetGeneratedKeysDelegate(EntityPersister)instead.UseEntityPersisterinstead.this interface is unnecessary and no longer usedUse discovery instead.Consider using discovery instead to dynamically locate contributors.Consider using discovery instead to dynamically locate contributors.supply aGenerationTypeStrategyRegistrationinsteadUse the updated formUseNavigablePathorNavigableRoleinstead, depending on need.No longer used, should be removedThis method does not respect theImplicitNamingStrategyThis method does not respect theImplicitNamingStrategyOnly used from deprecated methodsNo longer usedthis method is no longer calledThis method will be removed in the next releaseThis method will be removed in the next releaseThis method will be removed in the next releaseUseSimpleValue.getSelectables()insteadThis will be removed with no replacement.UsePersistentClass.isCachedinsteadUsePersistentClass.setCached(boolean)insteadthis method is no longer usedthis method is no longer usedUseSimpleValue.getSelectables()insteadNo longer used, should be removedNo longer used, should be removedNo longer used, should be removedNo longer used, should be removedUseDiscriminable.getDiscriminatorMapping()instead.No longer used.Hibernate is moving away fromType. Corresponding mapping metamodel calls should be used instead - here (generally),PluralAttributeMappingRead-by-position makes this irrelevant. Currently still used bySQLQueryParserHibernate is moving away fromType. Corresponding mapping metamodel calls should be used instead - here,PluralAttributeMapping.getElementDescriptor()Read-by-position makes this irrelevant. Currently still used bySQLQueryParserHibernate is moving away fromType. Corresponding mapping metamodel calls should be used instead - here,PluralAttributeMapping.getIdentifierDescriptor()Read-by-position makes this irrelevant. Currently still used bySQLQueryParserHibernate is moving away fromType. Corresponding mapping metamodel calls should be used instead - here,PluralAttributeMapping.getIndexDescriptor()Read-by-position makes this irrelevant. Currently still used bySQLQueryParserHibernate is moving away fromType. Corresponding mapping metamodel calls should be used instead - here,PluralAttributeMapping.getKeyDescriptor()Replaced byEmbeddedCollectionPartReplaced byCollectionPartGiven the mapping-model and SQM, this contract is no longer needed. Note however thatSQLQueryParsercurrently uses this along with otherNo longer used.No longer used. SeeDeleteCoordinatorStandardWith no replacement.No longer used. SeeAbstractEntityPersister.getDeleteCoordinator()No longer used. SeeAbstractEntityPersister.getUpdateCoordinator()this method is no longer usedNo longer used. SeeUpdateCoordinatorthis method is no longer usedNo longer used. SeeMutationExecutorServiceWith no replacementWith no replacementNo longer usedWith no replacementNo longer usedWith no replacementReplaced byEntityMappingTypeReplaced byEntityMappingTypeThe functionality of DiscriminatorMetadata,DiscriminatorTypeandMetaTypehave been consolidated intoEntityDiscriminatorMappingandDiscriminatorConverterThe functionality of DiscriminatorType,DiscriminatorMetadataandMetaTypehave been consolidated intoEntityDiscriminatorMappingandDiscriminatorConverteruseEntityMutationTarget.getInsertDelegate()insteadThis interface is obsoleteNo longer used.UseFunctionRendererinsteadUseSelfRenderingSqmFunction.getFunctionRenderer()insteadthis constructor does not carry information about the query which caused the failurewas previously used for Criteria. UseSqmDeleteStatement(Class,NodeBuilder)insteadwas previously used for HQL. UseSqmDeleteStatement(NodeBuilder)insteadDon't use this method. It has no effect.was previously used for HQL. UseSqmUpdateStatement(NodeBuilder)insteadwas previously used for Criteria. UseSqmUpdateStatement(Class, SqmCriteriaNodeBuilder)instead.This method is no longer usedIt is no longer possible to plug custom implementations of this SPI. It will be removed.this is never called, and luckily so, because it's not null-safesinceJdbcObserveris deprecatedUseSessionBuilder.tenantIdentifier(Object)insteadUseAbstractSqlAstTranslator.getDual()insteadUse the updated signatureWill be removed. Use the other methods to visit each operation.Will be removed. Use the other methods to visit each operation.Abstraction was not useful, so it was inlined intoEntityFetchJoinedImpldirectlyNow modeled throughEntityHolderUseRowProcessingState.finishRowProcessing(boolean)insteadUseStatelessSessionBuilder.tenantIdentifier(Object)insteadNo longer used, seeSchemaToolingSettings.HBM2DDL_FILTER_PROVIDERNo direct replacement.No direct replacement.Replaced byAnnotationBasedGeneratorReplaced byAttributeMappingNo direct replacement, though seeAttributeMappingandAttributeMetadataNo direct replacementNo direct replacementNo direct replacementNo direct replacementNo direct replacementReplaced byEntityMappingType. EntityMetamodel was a first attempt at what has becomeEntityMappingTypeReplaced byEntityVersionMappingReplaced byEventTypeas id-generation has been redefined using the new broader generation approach.No direct replacement; seeEntityIdentifierMappingNo direct replacement; seeEntityIdentifierMappingNo direct replacementNo direct replacementReplaced byAttributeMappingReplaced byGeneratorReplaced byGeneratorUse the built-in support for enumsThe functionality of MetaType,DiscriminatorTypeandDiscriminatorMetadatahave been consolidated intoEntityDiscriminatorMappingandDiscriminatorConverteruseStandardBasicTypes.BINARY_WRAPPERinstead
-
Deprecated InterfacesInterfaceDescriptionno longer usedUse settings,
TypeContributor,FunctionContributororAdditionalMappingContributorinstead depending on needPrefer the form of these methods defined onBytecodeLazyAttributeInterceptorinsteadMoved, but still need this definition for ehcacheImplicitNamingStrategyandPhysicalNamingStrategyshould be used instead.UseSecondPassinsteadthis is no longer usedsinceSession.replicate(java.lang.Object, org.hibernate.ReplicationMode)is deprecatedsinceSession.saveOrUpdate(java.lang.Object)and friends are deprecatedUseGeneratedValuesMutationDelegateinstead.UseEntityPersisterinstead.this interface is unnecessary and no longer usedseeUUIDGeneratorConsider using discovery instead to dynamically locate contributors.Use theSpecHintsform insteadsupply aGenerationTypeStrategyRegistrationinsteadUseIndexedBiConsumerinsteadUseIndexedConsumerinsteadthis is no longer usedUse Hibernate's mapping modelMappingMetamodelUse Hibernate's mapping modelMappingMetamodelPreferJpaMetamodelUseEmbeddableDomainTypeinstead. Originally intended to describe the actual usage of an embeddable (the embedded) because it was intended to include the mapping (column, etc) information. However, that causes us to need multiple embeddable instances per embeddable class.Just used to singly extend all the deprecated collection persister rolesGiven the mapping-model and SQM, this contract is no longer needed. Note however thatSQLQueryParsercurrently uses this along with otherJust used to singly extend all the deprecated entity persister rolesThe functionality of DiscriminatorMetadata,DiscriminatorTypeandMetaTypehave been consolidated intoEntityDiscriminatorMappingandDiscriminatorConverterThis interface is obsoleteUseEntityMappingTypeinsteadUseRuntimeModelCreationContextinsteadUseFunctionRendererinsteadIt is no longer possible to plug custom implementations of this SPI. It will be removed.simply construct aLockOptionsand pass it toSession.lock(Object, LockOptions).UseTupleTransformerand/orResultListTransformerinsteadReplaced byAnnotationBasedGeneratorReplaced byAttributeMappingNo direct replacement; seeEntityIdentifierMappingThis contract is no longer used by Hibernate. Implement/useInstantiatorinstead. SeeManagedTypeRepresentationStrategyNo direct replacementReplaced byGeneratorReplaced byGenerator
-
Deprecated ClassesClassDescriptionthis class is no longer usedUse
AvailableHintsinsteadwill move toorg.hibernate.boot.model.source.spi, where its only uses arethis class is no longer usedThis helper class is no longer usedNamingStrategyitself has been deprecatedNamingStrategyitself has been deprecatedNamingStrategyitself has been deprecatedNamingStrategyitself has been deprecatedWill be replaced withHANADialectin the future.UseDB2iDialectUseDB2iDialectuseHANADialectwithDatabaseVersion.make( 4 )insteaduseHANADialectinsteaduseHANADialectinsteaduseDB2zIdentityColumnSupportno longer used, useGetGeneratedKeysDelegateinsteaduseMariaDBDialect(1060)useMySQLDialect(800)useDB2SequenceSupportuseSQLServerDialect(11)useSQLServerDialect(13)implementInterceptordirectlyuseAppliedGraphinsteadNo longer usedSubclasses should now directly inheritPostInsertIdentifierGeneratorandBulkInsertionCapableIdentifierGenerator, or even better, simply implementOnExecutionGeneratordirectly.sinceUUIDHexGeneratoris deprecatedThis remains around as an implementation detail ofhbm.xmlmappings.useUuidGeneratorThis is not used anymore in any of theGeneratedValuesMutationDelegateimplementations.useUuidGeneratorandUuidGeneratorinsteadThis remains around as an implementation detail ofhbm.xmlmappings.UseExpectation.RowCount, creating a custom subclass if necessaryUseExpectation.OutParameter, creating a custom subclass if necessaryUseAvailableHintsinsteadUseNavigablePathorNavigableRoleinstead, depending on need.this class is no longer usedThis is replaced byValueGenerationandGenerationTiming, and is no longer usedno longer usedReplaced byEmbeddedCollectionPartReplaced byCollectionPartReplaced byEntityMappingTypeReplaced byEntityMappingTypeThe functionality of DiscriminatorType,DiscriminatorMetadataandMetaTypehave been consolidated intoEntityDiscriminatorMappingandDiscriminatorConverterAbstraction was not useful, so it was inlined intoEntityFetchJoinedImpldirectlyNow modeled throughEntityHoldersinceResultTransformeris deprecatedsinceResultTransformeris deprecatedsinceResultTransformeris deprecatedsinceResultTransformeris deprecatedsinceResultTransformeris deprecatedNo direct replacement.No direct replacement.No direct replacement, though seeAttributeMappingandAttributeMetadataNo direct replacementuseCurrentTimestampGenerationsinceInstantiatoris deprecatedNo direct replacementNo direct replacementNo direct replacementNo direct replacementReplaced byEntityMappingType. EntityMetamodel was a first attempt at what has becomeEntityMappingTypeReplaced byEntityVersionMappingNo direct replacement; seeEntityIdentifierMappingLikeInstantiatoritself, deprecated.No direct replacementReplaced byAttributeMappingThis style of generation has been replaced byorg.hibernate.generatoruseCurrentTimestampGenerationsinceGeneratorTypeis deprecatedNo longer useduseFloatJdbcTypeUse the built-in support for enumsThe functionality of MetaType,DiscriminatorTypeandDiscriminatorMetadatahave been consolidated intoEntityDiscriminatorMappingandDiscriminatorConverter
-
Deprecated Enum ClassesEnum ClassDescriptionuse
EventTypeandEventTypeSetsinstead- Use the JPA-defined
FetchType.EAGERinstead ofLazyCollection(FALSE). - Use static methods of
Hibernate, for exampleHibernate.size(Collection),Hibernate.contains(Collection, Object), orHibernate.get(Map, Object)instead ofLazyCollection(EXTRA).
sincePolymorphismis deprecatedUse anExpectationclass instead.UseFetchStyleUse anExpectationclassseeMultiKeyLoadSizingStrategyinsteadUse Jakarta Persistence Nulls instead.sinceSession.replicate(Object, ReplicationMode)is deprecatedReplaced byEventTypeas id-generation has been redefined using the new broader generation approach. - Use the JPA-defined
-
Deprecated ExceptionsExceptionsDescriptionWas only ever referenced in a single place, in an extremely dubious way.
-
Deprecated Annotation InterfacesAnnotation InterfaceDescriptionPrefer Table.comment()Per Comment, prefer Table.comment()use the JPA 2.1
ForeignKeyannotationValueGenerationTypeandAnnotationValueGenerationnow provide a much more powerful and typesafe alternativeUse the new approach based onIdGeneratorType.sinceGenericGeneratoris deprecated.UseIndexinstead.- Use the JPA-defined
FetchType.EAGERinstead ofLazyCollection(FALSE). - Use static methods of
Hibernate, for exampleHibernate.size(Collection),Hibernate.contains(Collection, Object), orHibernate.get(Map, Object)instead ofLazyCollection(EXTRA).
use JPA annotations to specify theFetchTypeThis annotation is hardly ever useful.This annotation is almost never useful.SinceSession.update(Object)is deprecateduseCurrentTimestampinsteadThe options available here are all now offered by other newer and better-designed annotations in this package. This annotation will soon be removed, since it's very annoying to have two annotations named@Table.sinceTableis deprecateduse annotation members of JPA association mapping annotations, for example,OneToMany.targetEntity()UseSQLRestriction - Use the JPA-defined
-
Deprecated FieldsFieldDescriptionCalling stored-procedures and functions via
NativeQueryis no longer supported. UseProcedureCallorStoredProcedureQueryinstead.There are much better ways to control the flush mode of a session, for example,SessionBuilder.flushMode(org.hibernate.FlushMode)orSession.setHibernateFlushMode(org.hibernate.FlushMode).useGenerationTypeStrategyRegistrationinsteadUseAvailableSettings.JAKARTA_LOCK_SCOPEinsteadUseAvailableSettings.JAKARTA_LOCK_TIMEOUTinsteadUseBatchSettings.BUILDERinsteadWill be removed, Hibernate ORM will use the BytecodeProvider implementation it finds on the classpath loading it via the standard ServiceLoader mechanism. Currently, there is only a single implementation which is included in Hibernate ORM, so it's not possible to override this. See HHH-17643Will be removed without replacement. See HHH-15641Will be removed without replacement. See HHH-15641this is only honored forhibernate-infinispanUseCacheSettings.JAKARTA_SHARED_CACHE_MODEinsteadUseCacheSettings.JAKARTA_SHARED_CACHE_RETRIEVE_MODEinsteadUseCacheSettings.JAKARTA_SHARED_CACHE_STORE_MODEinsteadAn appropriate batch-fetch style is selected automaticallyThe JPA-standardJdbcSettings.JAKARTA_JTA_DATASOURCEorJdbcSettings.JAKARTA_JTA_DATASOURCEsetting is now preferred.UseJdbcSettings.JAKARTA_HBM2DDL_DB_MAJOR_VERSIONinsteadUseJdbcSettings.JAKARTA_HBM2DDL_DB_MINOR_VERSIONinsteadUseJdbcSettings.JAKARTA_HBM2DDL_DB_NAMEinsteadUseJdbcSettings.JAKARTA_HBM2DDL_DB_VERSIONinsteadThe JPA-standard settingJdbcSettings.JAKARTA_JDBC_DRIVERis now preferred.UseJdbcSettings.JAKARTA_HBM2DDL_CONNECTIONinsteadUseJdbcSettings.JAKARTA_JDBC_DRIVERinsteadUseJdbcSettings.JAKARTA_JDBC_PASSWORDinsteadUseJdbcSettings.JAKARTA_JDBC_URLinsteadUseJdbcSettings.JAKARTA_JDBC_USERinsteadUseJdbcSettings.JAKARTA_JTA_DATASOURCEinsteadUseJdbcSettings.JAKARTA_NON_JTA_DATASOURCEinsteadThe JPA-standard settingJdbcSettings.JAKARTA_JDBC_USERis now preferred.The JPA-standard settingJdbcSettings.JAKARTA_JDBC_URLis now preferred.The JPA-standard settingJdbcSettings.JAKARTA_JDBC_USERis now preferred.UseMappingSettings.DEFAULT_LIST_SEMANTICSinstead. The specification actually leaves this behavior undefined, saying that portable applications should not rely on any specific behavior for aListwith no@OrderColumn.UseManagedBeanSettings.JAKARTA_CDI_BEAN_MANAGERinsteadIt makes no sense at all to enable this at the global level for a persistence unit. If anything, it could be a setting specific to a given embeddable class. But, four years after the introduction of this feature, it's still marked experimental and has multiple known unresolved bugs. It's therefore time for those who advocated for this feature to accept defeat.Originally added as a backwards compatibility flagUsePersistenceSettings.JAKARTA_PERSISTENCE_PROVIDERinsteadUsePersistenceSettings.JAKARTA_TRANSACTION_TYPEinsteadthis setting is not currently usedUseGlobalTemporaryTableStrategy.CREATE_ID_TABLES.UseGlobalTemporaryTableStrategy.DROP_ID_TABLES.UseLocalTemporaryTableStrategy.DROP_ID_TABLES.UsePersistentTableStrategy.CREATE_ID_TABLES.UsePersistentTableStrategy.DROP_ID_TABLES.The JPA-standard settingSchemaToolingSettings.JAKARTA_HBM2DDL_CREATE_SCHEMASis now preferred.Migrate toSchemaToolingSettings.JAKARTA_HBM2DDL_CREATE_SOURCEinsteadThe JPA-standard settingSchemaToolingSettings.JAKARTA_HBM2DDL_CREATE_SCRIPT_SOURCEis now preferred.UseValidationSettings.JAKARTA_VALIDATION_FACTORYinsteadUseValidationSettings.JAKARTA_VALIDATION_MODEinsteadUseGraphLanguageLexer.VOCABULARYinstead.UseGraphLanguageParser.VOCABULARYinstead.UseHqlLexer.VOCABULARYinstead.UseHqlParser.VOCABULARYinstead.UseSqlScriptLexer.VOCABULARYinstead.UseSqlScriptParser.VOCABULARYinstead.UseOrderingLexer.VOCABULARYinstead.UseOrderingParser.VOCABULARYinstead.Use aOnExecutionGeneratorThis is not an elegant way to do anythingUseExpectation.NoneUse discovery instead.Consider using discovery instead to dynamically locate contributors.this feature of HQL is now deprecateduseStandardBasicTypes.BINARY_WRAPPERinstead
-
Deprecated MethodsMethodDescriptionUse
Cache.includeLazy()for the sake of typesafety.This was introduced in errorWhenfalse, this annotation has no effect.Whenfalse, this annotation has no effect.this member is currently ignored and has no effectNeeded for backwards compatibility until the deprecated, legacy generation stuff can be removeduseGenericGenerator.type()for typesafetyuseNamedNativeQuery.cacheStoreMode()andNamedNativeQuery.cacheRetrieveMode()sinceCacheModeTypeis deprecatedCalling database procedures and functions throughNativeQueryis no longer supported; useNamedStoredProcedureQueryinstead.useNamedQuery.cacheStoreMode()andNamedQuery.cacheRetrieveMode()sinceCacheModeTypeis deprecatedWhenfalse, this annotation has no effect.useSQLDelete.verify()with anExpectationclassuseSQLDeleteAll.verify()with anExpectationclassuseSQLInsert.verify()with anExpectationclassuseSQLUpdate.verify()with anExpectationclassuseCheck.useCommentThis setting has no effect in Hibernate 6useSQLInsert.table()to specify the secondary tableuseSQLInsert.table()to specify the secondary tableuseSQLInsert.table()to specify the secondary tableWith move to unified schema, this setting is now deprecated and will be removed once support for readinghbm.xmlfiles is fully removed.UseSqlStringGenerationContext.toIdentifier(String)instead.no longer used, so this should be removedSee discussion ofTypeContributorin User Guide.UseTypeContributions.contributeType(BasicType)instead.UseTypeContributions.contributeType(BasicType)instead.Because Session.update(java.lang.Object) itself is deprecated: an appropriate style is selectedUseMappingSettings.DEFAULT_LIST_SEMANTICSinsteadhbm.xmlmapping file support is deprecated. Use extended orm.xml bindings instead.No longer supported: No longer used internallyWill be removed without replacement. See HHH-15641Will be removed without replacement. See HHH-15641UseBytecodeProvider.getReflectionOptimizer(Class, Map)inssteadonly because it's currently never calleduseDialect.getCheckCondition(String, Long[])insteadOverride the methodrenderInsertIntoNoColumns()on thetranslatorreturned by this dialect.This is no longer calledThis is only called fromSybaseASESqlAstTranslatorso it doesn't need to be declared here.This is never called, and since at least Hibernate 5 has just returnedfalsein every dialect. It will be removed.This seems to be supported on all platforms, and we don't call this except in test suiteUseDialect.trimPattern(TrimSpec, boolean)instead.With no replacement. No longer usedWith no replacement. No longer usedUse a providedSqlStringGenerationContextinstead.these integer codes have not been used for a long timethese integer codes have not been used for a long timeNo longer usedNo longer usedNo longer usedNo longer usedthis method should be removed; alternative methods are available that better express the intent, allowing for better optimisations. Not aggressively removing this as it's an SPI, but also useful for testing and other contexts which are not performance sensitive. N.B. This might return an immutable map: do not use for mutations!Just as the method it overrides. Interceptors that deal with lazy state should implementBytecodeLazyAttributeInterceptorJust as the method it overrides. Interceptors that deal with lazy state should implementBytecodeLazyAttributeInterceptorInterceptors that deal with * lazy state should implementBytecodeLazyAttributeInterceptorthis is never calledno longer for internal use, useSessionFactoryImplementor.getMappingMetamodel()orSqmCreationContext.getJpaMetamodel()OperationalContext should cover this overload I believeOperationalContext should cover this overload I believeOperationalContext should cover this overload I believeOperationalContext should cover this overload I believeOperationalContext should cover this overload I believeOperationalContext should cover this overload I believethere's no good reason to expose this herethere's no reason to expose this herethis is not used anywherethere's no good reason to expose this herethis is not used anywherethere's no reason to expose this herelikely want to useEventListenerGroup.clearListeners()instead, which doesn't also reset the registered DuplicationStrategy(ies).this is not the most efficient way for iterating the event listeners. SeeEventListenerGroup.fireEventOnEachListener(Object, BiConsumer)and its overloaded variants for better alternatives.There is no plan to remove this operation, but its use should be avoided sinceFilterDefinitionis an SPI type, and so this operation is a layer-breaker.UseGraphSemantic.fromHintName(java.lang.String)insteadUseGraphSemantic.getJakartaHintName()insteadExposed for tests only.UseDatabaseStructure.configure(Optimizer)instead.No longer usedExposed for tests only.should be removedthis method is no longer calledUseGeneratedValuesHelper.getGeneratedValues(java.sql.ResultSet, org.hibernate.persister.entity.EntityPersister, org.hibernate.generator.EventType, org.hibernate.type.descriptor.WrapperOptions)insteadExposed for tests only.No longer usedNo substitute.- useUseMappingSettings.DEFAULT_LIST_SEMANTICSinsteadUse the updated formNo longer used, should be removedThis method does not respect theImplicitNamingStrategyThis method does not respect theImplicitNamingStrategyOnly used from deprecated methodsNo longer usedthis method is no longer calledThis method will be removed in the next releaseThis method will be removed in the next releaseThis method will be removed in the next releaseWe need to addColumn.isIdentity()UseSimpleValue.getSelectables()insteadThis will be removed with no replacement.UsePersistentClass.isCachedinsteadUsePersistentClass.setCached(boolean)insteadthis method is no longer usedthis method is no longer usednew read-by-position paradigm means that these generated aliases are no longer needednew read-by-position paradigm means that these generated aliases are no longer neededUseSimpleValue.getSelectables()insteadnot used and no longer supported.UseTable.addInitCommand(Function)instead.No longer used, should be removedNo longer used, should be removedNo longer used, should be removedNo longer used, should be removedShould build aQualifiedTableNamethen useSqlStringGenerationContext.format(QualifiedTableName).Use the form accepting SharedSessionContractImplementor insteadUse the form accepting SharedSessionContractImplementor insteadUseDiscriminable.getDiscriminatorMapping()instead.useMappingMetamodel.locateEntityDescriptor(Class)instead- useMappingMetamodel.getEntityDescriptor(String)insteadUseRuntimeMetamodels.getEmbedded(NavigableRole)insteadWith no direct replacement; seeMappingMetamodel.forEachCollectionDescriptor(java.util.function.Consumer<org.hibernate.persister.collection.CollectionPersister>)andMappingMetamodel.streamCollectionDescriptors()insteadWith no direct replacement; seeMappingMetamodel.forEachEntityDescriptor(java.util.function.Consumer<org.hibernate.persister.entity.EntityPersister>)andMappingMetamodel.streamEntityDescriptors()insteaduseNaturalIdLoadAccess.using(Map)withMap.of(), which is slightly more typesafeuseMap.of()insteadNo longer used.This operation is no longer called by Hibernate.Hibernate is moving away fromType. Corresponding mapping metamodel calls should be used instead - here (generally),PluralAttributeMappingRead-by-position makes this irrelevant. Currently still used bySQLQueryParserHibernate is moving away fromType. Corresponding mapping metamodel calls should be used instead - here,PluralAttributeMapping.getElementDescriptor()Read-by-position makes this irrelevant. Currently still used bySQLQueryParserHibernate is moving away fromType. Corresponding mapping metamodel calls should be used instead - here,PluralAttributeMapping.getIdentifierDescriptor()Read-by-position makes this irrelevant. Currently still used bySQLQueryParserHibernate is moving away fromType. Corresponding mapping metamodel calls should be used instead - here,PluralAttributeMapping.getIndexDescriptor()Read-by-position makes this irrelevant. Currently still used bySQLQueryParserHibernate is moving away fromType. Corresponding mapping metamodel calls should be used instead - here,PluralAttributeMapping.getKeyDescriptor()No longer used.No longer used. SeeDeleteCoordinatorStandardHibernate no longer uses aliases to read from result setsWith no replacement.Hibernate no longer uses aliases to read from result setsby the supertypesNo longer used. SeeAbstractEntityPersister.getDeleteCoordinator()No longer used. SeeAbstractEntityPersister.getUpdateCoordinator()Hibernate no longer uses aliases to read from result setsHibernate no longer uses aliases to read from result setsHibernate no longer uses aliases to read from result setsthis method is no longer usedOnly ever used from places where we really want to useSelectStatement(select generator)InsertSelectStatementUpdateStatementDeleteStatement
No longer used. SeeUpdateCoordinatorHibernate no longer uses aliases to read from result setsthis method is no longer usedNo longer used. SeeMutationExecutorServiceWith no replacementWith no replacementNo longer useduseFetchable.isSelectable()instead.With no replacementNo longer usedWith no replacementThis feature is no longer supportedThis operation is no longer called by Hibernate.UseEntityPersister.getValue(java.lang.Object, int)insteadUseEntityPersister.getValues(java.lang.Object)insteadUseEntityPersister.canReadFromCache()and/orEntityPersister.canWriteToCache()depending on needUseSelectableMapping.getSelectionExpression()insteadUseEntityMappingType.getDiscriminatorValue()insteaduseEntityMutationTarget.getInsertDelegate()insteadNo longer used.useQueryProducer.createQuery(String, Class),QueryProducer.createSelectionQuery(String, Class), orQueryProducer.createMutationQuery(String)depending on intentionUseSelfRenderingSqmFunction.getFunctionRenderer()insteadDon't use this method. It has no effect.This method is no longer usedthis is never called, and luckily so, because it's not null-safesinceJdbcObserveris deprecatedthis is no longer called, and unnecessary, since the needed services are now available viaJdbcSessionContext.getJdbcServices()exposing this here seems to kinda defeat the purpose of this SPIWith no real replacementWith no real replacementUseSessionBuilder.tenantIdentifier(Object)insteadThere is no plan to remove this operation, but its use should be avoided sinceFilterDefinitionis an SPI type, and so this operation is a layer-breaker.There is no plan to remove this operation, but its use should be avoided sinceSessionFactoryOptionsis an SPI type, and so this operation is a layer-breaker.useSharedSessionBuilder.connectionHandlingMode()instead.UseAbstractSqlAstTranslator.getDual()insteadUse the updated signatureNo longer used.Will be removed. Use the other methods to visit each operation.Will be removed. Use the other methods to visit each operation.UseRowProcessingState.finishRowProcessing(boolean)insteadUseStatelessSessionBuilder.tenantIdentifier(Object)insteadNo longer used, seeSchemaToolingSettings.HBM2DDL_FILTER_PROVIDERUseNonIdentifierAttribute.isDirtyCheckable()insteadnot appropriate for named enum or array typesnot appropriate for named enum or array typesnot appropriate for named enum or array types, useDdlType.getTypeName(Size, Type, DdlTypeRegistry)insteadnot appropriate for named enum or array types, useDdlType.getTypeName(Size, Type, DdlTypeRegistry)insteadnot appropriate for named enum or array types, useDdlTypeRegistry.getTypeName(int, Size, Type)insteadnot appropriate for named enum or array types, useDdlTypeRegistry.getTypeName(int, Size, Type)insteadThis operation is not very typesafe, and we're migrating away from its useThis simply isn't a very sensible place to hang theServiceRegistryThis operation is not very typesafe, and we're migrating away from its use
-
Deprecated ConstructorsConstructorDescriptionprovide a
DatabaseVersionUseOracle12cGetGeneratedKeysDelegate(EntityPersister)instead.in favor ofSize(Integer, Integer, Long)in favor ofSize(Integer, Integer, Long)UseBasicSelectingDelegate(EntityPersister)instead.UseInsertReturningDelegate(EntityPersister, EventType)instead.UseSybaseJConnGetGeneratedKeysDelegate(EntityPersister)instead.this constructor does not carry information about the query which caused the failurethis constructor does not carry information about the query which caused the failurethis constructor does not carry information about the query which caused the failurewas previously used for Criteria. UseSqmDeleteStatement(Class,NodeBuilder)insteadwas previously used for HQL. UseSqmDeleteStatement(NodeBuilder)insteadwas previously used for HQL. UseSqmUpdateStatement(NodeBuilder)insteadwas previously used for Criteria. UseSqmUpdateStatement(Class, SqmCriteriaNodeBuilder)instead.this constructor does not carry information about the query which caused the failurethis constructor does not carry information about the query which caused the failurethis constructor does not carry information about the query which caused the failurefilterJdbcParametersis no longer usedfilterJdbcParametersis no longer usedfilterJdbcParametersis no longer usedfilterJdbcParametersis no longer usedfilterJdbcParametersis no longer usedfilterJdbcParametersis no longer usedSeePojoInstantiatorSeePojoInstantiatorSeePojoInstantiator
-
Deprecated Enum ConstantsEnum ConstantDescriptionsince
Session.delete(Object)is deprecatedsinceSession.replicate(Object, ReplicationMode)is deprecatedsinceSession.saveOrUpdate(Object)is deprecateduse operations ofHibernateuseFetchType.EAGERuseFetchType.LAZYuseFetchType.EAGERthis setting no longer has any useful effectuseFetchType.LAZY
-
Deprecated Annotation Interface ElementsAnnotation Interface ElementDescriptionUse
Cache.includeLazy()for the sake of typesafety.This was introduced in errorWhenfalse, this annotation has no effect.Whenfalse, this annotation has no effect.this member is currently ignored and has no effectuseGenericGenerator.type()for typesafetyuseNamedNativeQuery.cacheStoreMode()andNamedNativeQuery.cacheRetrieveMode()sinceCacheModeTypeis deprecatedCalling database procedures and functions throughNativeQueryis no longer supported; useNamedStoredProcedureQueryinstead.useNamedQuery.cacheStoreMode()andNamedQuery.cacheRetrieveMode()sinceCacheModeTypeis deprecatedWhenfalse, this annotation has no effect.useSQLDelete.verify()with anExpectationclassuseSQLDeleteAll.verify()with anExpectationclassuseSQLInsert.verify()with anExpectationclassuseSQLUpdate.verify()with anExpectationclassuseCheck.useCommentThis setting has no effect in Hibernate 6useSQLInsert.table()to specify the secondary tableuseSQLInsert.table()to specify the secondary tableuseSQLInsert.table()to specify the secondary table
DialectOverride.SQLOrder