mirror of
https://github.com/hibernate/hibernate-orm
synced 2025-02-17 00:24:57 +00:00
Fix java.sql.Date attribute assigned wrong BasicType
This commit is contained in:
parent
017db55a1a
commit
547e247bb6
@ -7,6 +7,7 @@
|
||||
package org.hibernate.boot.model.process.internal;
|
||||
|
||||
import java.io.Serializable;
|
||||
import java.lang.reflect.Type;
|
||||
import java.util.function.Function;
|
||||
import java.util.function.Supplier;
|
||||
import javax.persistence.EnumType;
|
||||
@ -48,6 +49,7 @@ public class InferredBasicValueResolver {
|
||||
public static BasicValue.Resolution from(
|
||||
Function<TypeConfiguration, BasicJavaDescriptor> explicitJavaTypeAccess,
|
||||
Function<TypeConfiguration, JdbcTypeDescriptor> explicitSqlTypeAccess,
|
||||
java.lang.reflect.Type resolvedJavaType,
|
||||
Supplier<JavaTypeDescriptor> reflectedJtdResolver,
|
||||
JdbcTypeDescriptorIndicators stdIndicators,
|
||||
Table table,
|
||||
@ -100,6 +102,7 @@ else if ( explicitJavaType instanceof TemporalJavaTypeDescriptor ) {
|
||||
(TemporalJavaTypeDescriptor) reflectedJtd,
|
||||
explicitJavaType,
|
||||
null,
|
||||
resolvedJavaType,
|
||||
stdIndicators,
|
||||
typeConfiguration
|
||||
);
|
||||
@ -154,6 +157,7 @@ else if ( reflectedJtd instanceof TemporalJavaTypeDescriptor ) {
|
||||
(TemporalJavaTypeDescriptor) reflectedJtd,
|
||||
null,
|
||||
null,
|
||||
resolvedJavaType,
|
||||
stdIndicators,
|
||||
typeConfiguration
|
||||
);
|
||||
@ -360,6 +364,7 @@ public static InferredBasicValueResolution fromTemporal(
|
||||
TemporalJavaTypeDescriptor reflectedJtd,
|
||||
BasicJavaDescriptor explicitJavaType,
|
||||
JdbcTypeDescriptor explicitJdbcType,
|
||||
java.lang.reflect.Type resolvedJavaType,
|
||||
JdbcTypeDescriptorIndicators stdIndicators,
|
||||
TypeConfiguration typeConfiguration) {
|
||||
final TemporalType requestedTemporalPrecision = stdIndicators.getTemporalPrecision();
|
||||
@ -437,8 +442,14 @@ public static InferredBasicValueResolution fromTemporal(
|
||||
//
|
||||
// - for the moment continue to use the legacy resolution to registered
|
||||
// BasicType
|
||||
|
||||
final BasicType registeredType = typeConfiguration.getBasicTypeRegistry().getRegisteredType( reflectedJtd.getJavaType() );
|
||||
final Type javaType;
|
||||
if ( resolvedJavaType == null ) {
|
||||
javaType = reflectedJtd.getJavaType();
|
||||
}
|
||||
else {
|
||||
javaType = resolvedJavaType;
|
||||
}
|
||||
final BasicType registeredType = typeConfiguration.getBasicTypeRegistry().getRegisteredType( javaType );
|
||||
final AllowableTemporalParameterType legacyTemporalType = (AllowableTemporalParameterType) registeredType;
|
||||
|
||||
final BasicType basicType;
|
||||
|
@ -376,6 +376,7 @@ public TypeConfiguration getTypeConfiguration() {
|
||||
return InferredBasicValueResolver.from(
|
||||
explicitJavaTypeAccess,
|
||||
explicitSqlTypeAccess,
|
||||
resolvedJavaType,
|
||||
this::determineReflectedJavaTypeDescriptor,
|
||||
this,
|
||||
getTable(),
|
||||
|
Loading…
x
Reference in New Issue
Block a user