/*
* Hibernate, Relational Persistence for Idiomatic Java
*
* License: GNU Lesser General Public License (LGPL), version 2.1 or later.
* See the lgpl.txt file in the root directory or <http://www.gnu.org/licenses/lgpl-2.1.html>.
*/
package org.hibernate.internal.log;
import org.jboss.logging.BasicLogger;
import org.jboss.logging.Logger;
import org.jboss.logging.annotations.LogMessage;
import org.jboss.logging.annotations.Message;
import org.jboss.logging.annotations.MessageLogger;
import org.jboss.logging.annotations.ValidIdRange;
import static org.jboss.logging.Logger.Level.INFO;
import static org.jboss.logging.Logger.Level.WARN;
/**
* Class to consolidate logging about usage of deprecated features.
*
* @author Steve Ebersole
*/
@MessageLogger( projectCode = "HHH" )
@ValidIdRange( min = 90000001, max = 90001000 )
public interface DeprecationLogger extends BasicLogger {
public static final DeprecationLogger DEPRECATION_LOGGER = Logger.getMessageLogger(
DeprecationLogger.class,
"org.hibernate.orm.deprecation"
);
/**
* Log about usage of deprecated Scanner setting
*/
@LogMessage( level = INFO )
@Message(
value = "Found usage of deprecated setting for specifying Scanner [hibernate.ejb.resource_scanner]; " +
"use [hibernate.archive.scanner] instead",
id = 90000001
)
public void logDeprecatedScannerSetting();
/**
* Log message indicating the use of multiple EntityModes for a single entity.
*/
@LogMessage( level = WARN )
@Message(
value = "Support for an entity defining multiple entity-modes is deprecated",
id = 90000002
)
public void logDeprecationOfMultipleEntityModeSupport();
/**
* Log message indicating the use of DOM4J EntityMode.
*/
@LogMessage( level = WARN )
@Message(
value = "Use of DOM4J entity-mode is considered deprecated",
id = 90000003
)
public void logDeprecationOfDomEntityModeSupport();
@LogMessage(level = WARN)
@Message(
value = "embed-xml attributes were intended to be used for DOM4J entity mode. Since that entity mode has been " +
"removed, embed-xml attributes are no longer supported and should be removed from mappings.",
id = 90000004
)
public void logDeprecationOfEmbedXmlSupport();
@LogMessage(level = WARN)
@Message(
value = "Defining an entity [%s] with no physical id attribute is no longer supported; please map the " +
"identifier to a physical entity attribute",
id = 90000005
)
public void logDeprecationOfNonNamedIdAttribute(String entityName);
/**
* Log a warning about an attempt to specify no-longer-supported NamingStrategy
*
* @param setting - The old setting that indicates the NamingStrategy to use
* @param implicitInstead - The new setting that indicates the ImplicitNamingStrategy to use
* @param physicalInstead - The new setting that indicates the PhysicalNamingStrategy to use
*/
@LogMessage(level = WARN)
@Message(
value = "Attempted to specify unsupported NamingStrategy via setting [%s]; NamingStrategy " +
"has been removed in favor of the split ImplicitNamingStrategy and " +
"PhysicalNamingStrategy; use [%s] or [%s], respectively, instead.",
id = 90000006
)
void logDeprecatedNamingStrategySetting(String setting, String implicitInstead, String physicalInstead);
/**
* Log a warning about an attempt to specify unsupported NamingStrategy
*/
@LogMessage(level = WARN)
@Message(
value = "Attempted to specify unsupported NamingStrategy via command-line argument [--naming]. " +
"NamingStrategy has been removed in favor of the split ImplicitNamingStrategy and " +
"PhysicalNamingStrategy; use [--implicit-naming] or [--physical-naming], respectively, instead.",
id = 90000007
)
void logDeprecatedNamingStrategyArgument();
/**
* Log a warning about an attempt to specify unsupported NamingStrategy
*/
@LogMessage(level = WARN)
@Message(
value = "Attempted to specify unsupported NamingStrategy via Ant task argument. " +
"NamingStrategy has been removed in favor of the split ImplicitNamingStrategy and " +
"PhysicalNamingStrategy.",
id = 90000008
)
void logDeprecatedNamingStrategyAntArgument();
@LogMessage(level = WARN)
@Message(
value = "The outer-join attribute on <many-to-many> has been deprecated. " +
"Instead of outer-join=\"false\", use lazy=\"extra\" with <map>, <set>, " +
"<bag>, <idbag>, or <list>, which will only initialize entities (not as " +
"a proxy) as needed.",
id = 90000009
)
void deprecatedManyToManyOuterJoin();
@LogMessage(level = WARN)
@Message(
value = "The fetch attribute on <many-to-many> has been deprecated. " +
"Instead of fetch=\"select\", use lazy=\"extra\" with <map>, <set>, " +
"<bag>, <idbag>, or <list>, which will only initialize entities (not as " +
"a proxy) as needed.",
id = 90000010
)
void deprecatedManyToManyFetch();
@LogMessage(level = WARN)
@Message(
value = "org.hibernate.hql.spi.TemporaryTableBulkIdStrategy (temporary) has been deprecated in favor of the" +
" more specific org.hibernate.hql.spi.id.local.LocalTemporaryTableBulkIdStrategy (local_temporary).",
id = 90000011
)
void logDeprecationOfTemporaryTableBulkIdStrategy();
@LogMessage(level = WARN)
@Message(value = "Recognized obsolete hibernate namespace %s. Use namespace %s instead. Support for obsolete DTD/XSD namespaces may be removed at any time.",
id = 90000012)
void recognizedObsoleteHibernateNamespace(
String oldHibernateNamespace,
String hibernateNamespace);
@LogMessage(level = WARN)
@Message(
id = 90000013,
value = "Named ConnectionProvider [%s] has been deprecated in favor of %s; that provider will be used instead. Update your settings"
)
void connectionProviderClassDeprecated(
String providerClassName,
String actualProviderClassName);
@LogMessage(level = WARN)
@Message(
id = 90000014,
value = "Found use of deprecated [%s] sequence-based id generator; " +
"use org.hibernate.id.enhanced.SequenceStyleGenerator instead. " +
"See Hibernate Domain Model Mapping Guide for details."
)
void deprecatedSequenceGenerator(String generatorImpl);
@LogMessage(level = WARN)
@Message(
id = 90000015,
value = "Found use of deprecated [%s] table-based id generator; " +
"use org.hibernate.id.enhanced.TableGenerator instead. " +
"See Hibernate Domain Model Mapping Guide for details."
)
void deprecatedTableGenerator(String generatorImpl);
@LogMessage(level = WARN)
@Message(
id = 90000016,
value = "Found use of deprecated 'collection property' syntax in HQL/JPQL query [%2$s.%1$s]; " +
"use collection function syntax instead [%1$s(%2$s)]."
)
void logDeprecationOfCollectionPropertiesInHql(String collectionPropertyName, String alias);
@LogMessage(level = WARN)
@Message(
id = 90000017,
value = "Found use of deprecated entity-type selector syntax in HQL/JPQL query ['%1$s.class']; use TYPE operator instead : type(%1$s)"
)
void logDeprecationOfClassEntityTypeSelector(String path);
@LogMessage(level = WARN)
@Message(
id = 90000018,
value = "Found use of deprecated transaction factory setting [%s]; use the new TransactionCoordinatorBuilder settings [%s] instead"
)
void logDeprecatedTransactionFactorySetting(String legacySettingName, String updatedSettingName);
// @LogMessage(level = WARN)
// @Message(
// id = 90000019,
// value = "You are using the deprecated legacy bytecode enhancement feature which has been superseded by a vastly improved bytecode enhancer."
// )
// void logDeprecatedBytecodeEnhancement();
@LogMessage(level = WARN)
@Message(
id = 90000020,
value = "You are using the deprecated legacy bytecode enhancement Ant-task. This task is left in place for a short-time to " +
"aid migrations to 5.1 and the new (vastly improved) bytecode enhancement support. This task (%s) now delegates to the" +
"new Ant-task (%s) leveraging that new bytecode enhancement. You should update your build to use the new task explicitly."
)
void logDeprecatedInstrumentTask(Class taskClass, Class newTaskClass);
@LogMessage(level = WARN)
@Message(
id = 90000021,
value = "Encountered deprecated setting [%s], use [%s] instead"
)
void deprecatedSetting(String oldSettingName, String newSettingName);
@LogMessage(level = WARN)
@Message(
id = 90000022,
value = "Hibernate's legacy org.hibernate.Criteria API is deprecated; use the JPA javax.persistence.criteria.CriteriaQuery instead"
)
void deprecatedLegacyCriteria();
@LogMessage(level = WARN)
@Message(
id = 90000023,
value = "Encountered use of deprecated Connection handling settings [hibernate.connection.acquisition_mode]" +
"or [hibernate.connection.release_mode]; use [hibernate.connection.handling_mode] instead"
)
void logUseOfDeprecatedConnectionHandlingSettings();
}