public ValueBinder getBinder()

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!");
      }
    };
  }