in google-cloud-spanner-hibernate-dialect/src/main/java/com/google/cloud/spanner/hibernate/types/internal/ArraySqlTypeDescriptor.java [46:66]
public <X> ValueBinder<X> getBinder(JavaType<X> javaTypeDescriptor) {
return new BasicBinder<X>(javaTypeDescriptor, this) {
@Override
protected void doBind(PreparedStatement st, X value, int index, WrapperOptions options)
throws SQLException {
ArrayJavaTypeDescriptor arrayJavaTypeDescriptor =
(ArrayJavaTypeDescriptor) javaTypeDescriptor;
st.setArray(
index,
st.getConnection()
.createArrayOf(
arrayJavaTypeDescriptor.getSpannerTypeCode().toString(),
arrayJavaTypeDescriptor.unwrap((List<?>) value, Object[].class, options)));
}
@Override
protected void doBind(CallableStatement st, X value, String name, WrapperOptions options) {
throw new UnsupportedOperationException("Binding by name is not supported!");
}
};
}