replace log message with error
Signed-off-by: Gavin King <gavin@hibernate.org>
This commit is contained in:
parent
cb38afc773
commit
5827a4fa41
|
@ -720,10 +720,6 @@ public interface CoreMessageLogger extends BasicLogger {
|
|||
@Message(value = "Creating pooled optimizer (lo) with [incrementSize=%s; returnClass=%s]", id = 467)
|
||||
void creatingPooledLoOptimizer(int incrementSize, String name);
|
||||
|
||||
@LogMessage(level = WARN)
|
||||
@Message(value = "Unable to interpret type [%s] as an AttributeConverter due to an exception: %s", id = 468)
|
||||
void logBadHbmAttributeConverterType(String type, String exceptionMessage);
|
||||
|
||||
@LogMessage(level = WARN)
|
||||
@Message(value = "An unexpected session is defined for a collection, but the collection is not connected to that session. A persistent collection may only be associated with one session at a time. Overwriting session. %s", id = 470)
|
||||
void logUnexpectedSessionInCollectionNotConnected(String msg);
|
||||
|
|
|
@ -20,7 +20,6 @@ import org.hibernate.annotations.TimeZoneStorageType;
|
|||
import org.hibernate.boot.internal.ClassmateContext;
|
||||
import org.hibernate.boot.model.TypeDefinition;
|
||||
import org.hibernate.boot.model.convert.internal.AutoApplicableConverterDescriptorBypassedImpl;
|
||||
import org.hibernate.boot.model.convert.internal.ClassBasedConverterDescriptor;
|
||||
import org.hibernate.boot.model.convert.internal.InstanceBasedConverterDescriptor;
|
||||
import org.hibernate.boot.model.convert.spi.AutoApplicableConverterDescriptor;
|
||||
import org.hibernate.boot.model.convert.spi.ConverterDescriptor;
|
||||
|
@ -39,8 +38,6 @@ import org.hibernate.dialect.Dialect;
|
|||
import org.hibernate.engine.jdbc.Size;
|
||||
import org.hibernate.internal.CoreLogging;
|
||||
import org.hibernate.internal.CoreMessageLogger;
|
||||
import org.hibernate.internal.util.StringHelper;
|
||||
import org.hibernate.internal.util.collections.CollectionHelper;
|
||||
import org.hibernate.metamodel.mapping.JdbcMapping;
|
||||
import org.hibernate.metamodel.mapping.SelectablePath;
|
||||
import org.hibernate.resource.beans.internal.FallbackBeanInstanceProducer;
|
||||
|
@ -80,7 +77,10 @@ import jakarta.persistence.EnumType;
|
|||
import jakarta.persistence.TemporalType;
|
||||
|
||||
import static java.lang.Boolean.parseBoolean;
|
||||
import static org.hibernate.boot.model.convert.spi.ConverterDescriptor.TYPE_NAME_PREFIX;
|
||||
import static org.hibernate.internal.util.ReflectHelper.reflectedPropertyType;
|
||||
import static org.hibernate.internal.util.StringHelper.isEmpty;
|
||||
import static org.hibernate.internal.util.collections.CollectionHelper.isEmpty;
|
||||
import static org.hibernate.internal.util.collections.CollectionHelper.isNotEmpty;
|
||||
import static org.hibernate.mapping.MappingHelper.injectParameters;
|
||||
|
||||
|
@ -217,10 +217,7 @@ public class BasicValue extends SimpleValue implements JdbcTypeIndicators, Resol
|
|||
}
|
||||
|
||||
public Selectable getColumn() {
|
||||
if ( getColumnSpan() == 0 ) {
|
||||
return null;
|
||||
}
|
||||
return getColumn( 0 );
|
||||
return getColumnSpan() == 0 ? null : getColumn( 0 );
|
||||
}
|
||||
|
||||
public java.lang.reflect.Type getResolvedJavaType() {
|
||||
|
@ -748,8 +745,7 @@ public class BasicValue extends SimpleValue implements JdbcTypeIndicators, Resol
|
|||
return implicitJavaTypeAccess.apply(typeConfiguration);
|
||||
}
|
||||
else if ( ownerName != null && propertyName != null ) {
|
||||
return reflectedPropertyType( ownerName, propertyName,
|
||||
getServiceRegistry().requireService( ClassLoaderService.class ) );
|
||||
return reflectedPropertyType( ownerName, propertyName, classLoaderService() );
|
||||
}
|
||||
else {
|
||||
return null;
|
||||
|
@ -835,7 +831,7 @@ public class BasicValue extends SimpleValue implements JdbcTypeIndicators, Resol
|
|||
// 3) basic type "resolution key"
|
||||
// 4) UserType or BasicType class name - directly, or through a TypeDefinition
|
||||
|
||||
if ( name.startsWith( ConverterDescriptor.TYPE_NAME_PREFIX ) ) {
|
||||
if ( name.startsWith( TYPE_NAME_PREFIX ) ) {
|
||||
return NamedConverterResolution.from(
|
||||
name,
|
||||
explicitJtdAccess,
|
||||
|
@ -902,13 +898,12 @@ public class BasicValue extends SimpleValue implements JdbcTypeIndicators, Resol
|
|||
|
||||
|
||||
// see if the name is a UserType or BasicType implementor class name
|
||||
final ClassLoaderService cls = serviceRegistry.requireService( ClassLoaderService.class );
|
||||
final ClassLoaderService classLoaderService = serviceRegistry.requireService( ClassLoaderService.class );
|
||||
try {
|
||||
final Class<?> typeNamedClass = cls.classForName( name );
|
||||
|
||||
final Class<?> typeNamedClass = classLoaderService.classForName( name );
|
||||
// if there are no local config params, register an implicit TypeDefinition for this custom type .
|
||||
// later uses may find it and re-use its cacheable reference...
|
||||
if ( CollectionHelper.isEmpty( localTypeParams ) ) {
|
||||
if ( isEmpty( localTypeParams ) ) {
|
||||
final TypeDefinition implicitDefinition = new TypeDefinition(
|
||||
name,
|
||||
typeNamedClass,
|
||||
|
@ -1012,29 +1007,16 @@ public class BasicValue extends SimpleValue implements JdbcTypeIndicators, Resol
|
|||
}
|
||||
|
||||
public void setTypeName(String typeName) {
|
||||
if ( StringHelper.isNotEmpty( typeName ) ) {
|
||||
if ( typeName.startsWith( ConverterDescriptor.TYPE_NAME_PREFIX ) ) {
|
||||
final String converterClassName = typeName.substring( ConverterDescriptor.TYPE_NAME_PREFIX.length() );
|
||||
final ClassLoaderService cls = getServiceRegistry().requireService( ClassLoaderService.class );
|
||||
try {
|
||||
final Class<AttributeConverter<?,?>> converterClass = cls.classForName( converterClassName );
|
||||
setAttributeConverterDescriptor( new ClassBasedConverterDescriptor(
|
||||
converterClass,
|
||||
false,
|
||||
getBuildingContext().getBootstrapContext().getClassmateContext()
|
||||
) );
|
||||
return;
|
||||
}
|
||||
catch (Exception e) {
|
||||
log.logBadHbmAttributeConverterType( typeName, e.getMessage() );
|
||||
}
|
||||
}
|
||||
else {
|
||||
setExplicitTypeName( typeName );
|
||||
}
|
||||
if ( isEmpty( typeName ) ) {
|
||||
super.setTypeName( typeName );
|
||||
}
|
||||
else if ( typeName.startsWith( TYPE_NAME_PREFIX ) ) {
|
||||
setAttributeConverterDescriptor( typeName );
|
||||
}
|
||||
else {
|
||||
setExplicitTypeName( typeName );
|
||||
super.setTypeName( typeName );
|
||||
}
|
||||
|
||||
super.setTypeName( typeName );
|
||||
}
|
||||
|
||||
private static int COUNTER;
|
||||
|
|
|
@ -37,7 +37,6 @@ import org.hibernate.generator.Generator;
|
|||
import org.hibernate.generator.GeneratorCreationContext;
|
||||
import org.hibernate.internal.CoreLogging;
|
||||
import org.hibernate.internal.CoreMessageLogger;
|
||||
import org.hibernate.internal.util.ReflectHelper;
|
||||
import org.hibernate.models.spi.MemberDetails;
|
||||
import org.hibernate.models.spi.TypeDetails;
|
||||
import org.hibernate.resource.beans.spi.ManagedBeanRegistry;
|
||||
|
@ -63,6 +62,7 @@ import static org.hibernate.boot.model.convert.spi.ConverterDescriptor.TYPE_NAME
|
|||
import static org.hibernate.boot.model.internal.GeneratorBinder.ASSIGNED_GENERATOR_NAME;
|
||||
import static org.hibernate.boot.model.internal.GeneratorBinder.ASSIGNED_IDENTIFIER_GENERATOR_CREATOR;
|
||||
import static org.hibernate.boot.model.relational.internal.SqlStringGenerationContextImpl.fromExplicit;
|
||||
import static org.hibernate.internal.util.ReflectHelper.reflectedPropertyClass;
|
||||
import static org.hibernate.internal.util.collections.ArrayHelper.toBooleanArray;
|
||||
|
||||
/**
|
||||
|
@ -208,7 +208,7 @@ public abstract class SimpleValue implements KeyValue {
|
|||
}
|
||||
|
||||
protected void justAddColumn(Column column, boolean insertable, boolean updatable) {
|
||||
int index = columns.indexOf( column );
|
||||
final int index = columns.indexOf( column );
|
||||
if ( index == -1 ) {
|
||||
columns.add( column );
|
||||
insertability.add( insertable );
|
||||
|
@ -289,26 +289,23 @@ public abstract class SimpleValue implements KeyValue {
|
|||
|
||||
public void setTypeName(String typeName) {
|
||||
if ( typeName != null && typeName.startsWith( TYPE_NAME_PREFIX ) ) {
|
||||
final String converterClassName = typeName.substring( TYPE_NAME_PREFIX.length() );
|
||||
final ClassLoaderService cls = getMetadata()
|
||||
.getMetadataBuildingOptions()
|
||||
.getServiceRegistry()
|
||||
.requireService( ClassLoaderService.class );
|
||||
try {
|
||||
final Class<? extends AttributeConverter<?,?>> converterClass = cls.classForName( converterClassName );
|
||||
this.attributeConverterDescriptor = new ClassBasedConverterDescriptor(
|
||||
converterClass,
|
||||
false,
|
||||
( (InFlightMetadataCollector) getMetadata() ).getBootstrapContext().getClassmateContext()
|
||||
);
|
||||
return;
|
||||
}
|
||||
catch (Exception e) {
|
||||
log.logBadHbmAttributeConverterType( typeName, e.getMessage() );
|
||||
}
|
||||
setAttributeConverterDescriptor( typeName );
|
||||
}
|
||||
else {
|
||||
this.typeName = typeName;
|
||||
}
|
||||
}
|
||||
|
||||
this.typeName = typeName;
|
||||
void setAttributeConverterDescriptor(String typeName) {
|
||||
final String converterClassName = typeName.substring( TYPE_NAME_PREFIX.length() );
|
||||
this.attributeConverterDescriptor =
|
||||
new ClassBasedConverterDescriptor( classLoaderService().classForName( converterClassName ),
|
||||
false, getBuildingContext().getBootstrapContext().getClassmateContext() );
|
||||
}
|
||||
|
||||
ClassLoaderService classLoaderService() {
|
||||
return getMetadata().getMetadataBuildingOptions().getServiceRegistry()
|
||||
.requireService( ClassLoaderService.class );
|
||||
}
|
||||
|
||||
public void makeVersion() {
|
||||
|
@ -675,14 +672,7 @@ public abstract class SimpleValue implements KeyValue {
|
|||
}
|
||||
|
||||
private Class<?> getClass(String className, String propertyName) {
|
||||
return ReflectHelper.reflectedPropertyClass(
|
||||
className,
|
||||
propertyName,
|
||||
getMetadata()
|
||||
.getMetadataBuildingOptions()
|
||||
.getServiceRegistry()
|
||||
.requireService( ClassLoaderService.class )
|
||||
);
|
||||
return reflectedPropertyClass( className, propertyName, classLoaderService() );
|
||||
}
|
||||
|
||||
/**
|
||||
|
@ -738,8 +728,8 @@ public abstract class SimpleValue implements KeyValue {
|
|||
|
||||
private <T> Type buildAttributeConverterTypeAdapter(
|
||||
JpaAttributeConverter<T, ?> jpaAttributeConverter) {
|
||||
JavaType<T> domainJavaType = jpaAttributeConverter.getDomainJavaType();
|
||||
JavaType<?> relationalJavaType = jpaAttributeConverter.getRelationalJavaType();
|
||||
final JavaType<T> domainJavaType = jpaAttributeConverter.getDomainJavaType();
|
||||
final JavaType<?> relationalJavaType = jpaAttributeConverter.getRelationalJavaType();
|
||||
|
||||
// build the SqlTypeDescriptor adapter ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
|
||||
// Going back to the illustration, this should be a SqlTypeDescriptor that handles the Integer <-> String
|
||||
|
@ -951,16 +941,11 @@ public abstract class SimpleValue implements KeyValue {
|
|||
final MemberDetails attributeMember = (MemberDetails) typeParameters.get( DynamicParameterizedType.XPROPERTY );
|
||||
// todo : not sure this works for handling @MapKeyEnumerated
|
||||
final Annotation[] annotations = getAnnotations( attributeMember );
|
||||
|
||||
final ClassLoaderService classLoaderService =
|
||||
getMetadata().getMetadataBuildingOptions().getServiceRegistry()
|
||||
.requireService( ClassLoaderService.class );
|
||||
typeParameters.put(
|
||||
DynamicParameterizedType.PARAMETER_TYPE,
|
||||
new ParameterTypeImpl(
|
||||
classLoaderService.classForTypeName(
|
||||
typeParameters.getProperty(DynamicParameterizedType.RETURNED_CLASS)
|
||||
),
|
||||
classLoaderService()
|
||||
.classForTypeName( typeParameters.getProperty(DynamicParameterizedType.RETURNED_CLASS) ),
|
||||
attributeMember != null ? attributeMember.getType() : null,
|
||||
annotations,
|
||||
table.getCatalog(),
|
||||
|
@ -1003,13 +988,9 @@ public abstract class SimpleValue implements KeyValue {
|
|||
final MemberDetails attributeMember = (MemberDetails) typeParameters.get( DynamicParameterizedType.XPROPERTY );
|
||||
// todo : not sure this works for handling @MapKeyEnumerated
|
||||
final Annotation[] annotations = getAnnotations( attributeMember );
|
||||
|
||||
final ClassLoaderService classLoaderService =
|
||||
getMetadata().getMetadataBuildingOptions().getServiceRegistry()
|
||||
.requireService( ClassLoaderService.class );
|
||||
|
||||
return new ParameterTypeImpl(
|
||||
classLoaderService.classForTypeName( typeParameters.getProperty(DynamicParameterizedType.RETURNED_CLASS) ),
|
||||
classLoaderService()
|
||||
.classForTypeName( typeParameters.getProperty(DynamicParameterizedType.RETURNED_CLASS) ),
|
||||
attributeMember != null ? attributeMember.getType() : null,
|
||||
annotations,
|
||||
table.getCatalog(),
|
||||
|
|
Loading…
Reference in New Issue