in google-cloud-spanner-hibernate-dialect/src/main/java/com/google/cloud/spanner/hibernate/types/internal/ArrayJavaTypeDescriptor.java [137:162]
private static Code getSpannerTypeCode(Class<?> javaType) {
if (Integer.class.isAssignableFrom(javaType)) {
return Code.INT64;
} else if (Long.class.isAssignableFrom(javaType)) {
return Code.INT64;
} else if (Double.class.isAssignableFrom(javaType)) {
return Code.FLOAT64;
} else if (Float.class.isAssignableFrom(javaType)) {
return Code.FLOAT32;
} else if (String.class.isAssignableFrom(javaType)) {
return Code.STRING;
} else if (UUID.class.isAssignableFrom(javaType)) {
return Code.STRING;
} else if (Date.class.isAssignableFrom(javaType)) {
return Code.TIMESTAMP;
} else if (Boolean.class.isAssignableFrom(javaType)) {
return Code.BOOL;
} else if (BigDecimal.class.isAssignableFrom(javaType)) {
return Code.NUMERIC;
} else if (byte[].class.isAssignableFrom(javaType)) {
return Code.BYTES;
} else {
throw new UnsupportedOperationException(
"The " + javaType + " is not supported as a Spanner array type.");
}
}