|
|
|
@ -295,10 +295,12 @@ public abstract class StatementCreatorUtils {
@@ -295,10 +295,12 @@ public abstract class StatementCreatorUtils {
|
|
|
|
|
else if (inValue instanceof SqlValue) { |
|
|
|
|
((SqlValue) inValue).setValue(ps, paramIndex); |
|
|
|
|
} |
|
|
|
|
else if (sqlType == Types.VARCHAR || sqlType == Types.NVARCHAR || |
|
|
|
|
sqlType == Types.LONGVARCHAR || sqlType == Types.LONGNVARCHAR) { |
|
|
|
|
else if (sqlType == Types.VARCHAR || sqlType == Types.LONGVARCHAR ) { |
|
|
|
|
ps.setString(paramIndex, inValue.toString()); |
|
|
|
|
} |
|
|
|
|
else if (sqlType == Types.NVARCHAR || sqlType == Types.LONGNVARCHAR) { |
|
|
|
|
ps.setNString(paramIndex, inValue.toString()); |
|
|
|
|
} |
|
|
|
|
else if ((sqlType == Types.CLOB || sqlType == Types.NCLOB) && isStringValue(inValue.getClass())) { |
|
|
|
|
String strVal = inValue.toString(); |
|
|
|
|
if (strVal.length() > 4000) { |
|
|
|
@ -312,9 +314,16 @@ public abstract class StatementCreatorUtils {
@@ -312,9 +314,16 @@ public abstract class StatementCreatorUtils {
|
|
|
|
|
} |
|
|
|
|
return; |
|
|
|
|
} |
|
|
|
|
// Fallback: regular setString binding
|
|
|
|
|
else { |
|
|
|
|
// Fallback: setString or setNString binding
|
|
|
|
|
if (sqlType == Types.NCLOB) { |
|
|
|
|
ps.setNString(paramIndex, strVal); |
|
|
|
|
} |
|
|
|
|
else { |
|
|
|
|
ps.setString(paramIndex, strVal); |
|
|
|
|
} |
|
|
|
|
} |
|
|
|
|
} |
|
|
|
|
else if (sqlType == Types.DECIMAL || sqlType == Types.NUMERIC) { |
|
|
|
|
if (inValue instanceof BigDecimal) { |
|
|
|
|
ps.setBigDecimal(paramIndex, (BigDecimal) inValue); |
|
|
|
|