code: protected void setArrayValue(final PreparedStatement statement, final int i, Connection connection, Object[] array)
              throws SQLException {
          if (array == null || (isEmptyStoredAsNull() && array.length == 0)) {
              statement.setNull(i, Types.ARRAY);
          } else {
              statement.setArray(i, connection.createArrayOf(getDialectPrimitiveName(), array));
          }
      }
docs: Stores the array conforming to the EMPTY_IS_NULL directive.
  @see org.hibernate.usertype.UserType#nullSafeSet(java.sql.PreparedStatement, java.lang.Object, int, org.hibernate.engine.spi.SessionImplementor)