HHH-6795 unsupported Boolean type null value on Sybase causes hangs forever when doing bind parameter
This commit is contained in:
parent
e210537059
commit
16f0fa5373
|
@ -30,6 +30,9 @@ import org.hibernate.dialect.function.NoArgSQLFunction;
|
|||
import org.hibernate.dialect.function.SQLFunctionTemplate;
|
||||
import org.hibernate.dialect.function.VarArgsSQLFunction;
|
||||
import org.hibernate.type.StandardBasicTypes;
|
||||
import org.hibernate.type.descriptor.sql.SmallIntTypeDescriptor;
|
||||
import org.hibernate.type.descriptor.sql.SqlTypeDescriptor;
|
||||
import org.hibernate.type.descriptor.sql.TinyIntTypeDescriptor;
|
||||
|
||||
/**
|
||||
* An SQL dialect targeting Sybase Adaptive Server Enterprise (ASE) 15 and higher.
|
||||
|
@ -427,4 +430,9 @@ public class SybaseASE15Dialect extends AbstractTransactSQLDialect {
|
|||
public String getCrossJoinSeparator() {
|
||||
return ", ";
|
||||
}
|
||||
|
||||
@Override
|
||||
protected SqlTypeDescriptor getSqlTypeDescriptorOverride(int sqlCode) {
|
||||
return sqlCode == Types.BOOLEAN ? TinyIntTypeDescriptor.INSTANCE : super.getSqlTypeDescriptorOverride( sqlCode );
|
||||
}
|
||||
}
|
||||
|
|
|
@ -53,10 +53,7 @@ public class JdbcTypeNameMapper {
|
|||
for ( Field field : fields ) {
|
||||
try {
|
||||
final int code = field.getInt( null );
|
||||
String old = map.put(
|
||||
Integer.valueOf( code ),
|
||||
field.getName()
|
||||
);
|
||||
String old = map.put( code, field.getName() );
|
||||
if (old != null) LOG.JavaSqlTypesMappedSameCodeMultipleTimes(code, old, field.getName());
|
||||
}
|
||||
catch ( IllegalAccessException e ) {
|
||||
|
@ -66,10 +63,6 @@ public class JdbcTypeNameMapper {
|
|||
return Collections.unmodifiableMap( map );
|
||||
}
|
||||
|
||||
public static String getTypeName(int code) {
|
||||
return getTypeName( Integer.valueOf( code ) );
|
||||
}
|
||||
|
||||
public static String getTypeName(Integer code) {
|
||||
String name = JDBC_TYPE_MAP.get( code );
|
||||
if ( name == null ) {
|
||||
|
|
Loading…
Reference in New Issue