Skip to main content

v6.8.0 (2026-09-16)

<dependency>
<groupId>net.hasor</groupId>
<artifactId>dbvisitor</artifactId>
<version>6.8.0</version>
</dependency>

Highlights

  1. Java 17 baseline: starting with 6.8.0, JDK 8 is no longer supported.
  2. Expanded Milvus data access: additional vector types, hybrid search, reranking, BM25, import jobs, and TLS/mTLS connections.
  3. Improved JDBC adapters: database, table, and column metadata, plus fixes for multiple results, parameter binding, and resource cleanup.
  4. Enhanced dialects: sequence keys for Oracle and SQL Server; vector operations and selectable delete modes for ClickHouse.
  5. Core API fixes: pagination results, generated-key backfill, type handling, and transaction failure cleanup.

Impact Scope

  • Core: Builder API, Mapper, parameter parsing, type handlers, pagination, and local transactions.
  • JDBC: the shared JDBC layer and the Milvus, Elasticsearch, MongoDB, and Redis adapters.
  • Dialects: sequences, null ordering, vector operations, and command generation for non-relational databases.
  • Hasor integration: data source configuration, Session wiring, and Mapper scanning.

Changes

  • Milvus

    • Upgraded the Java SDK from 2.5.4 to 2.6.22, using MilvusClientV2 throughout.
    • Added read, write, and search support for Binary, Float16, BFloat16, Sparse, and Int8 vectors.
    • Completed nullable, DEFAULT, and Array field definitions.
    • Added Hybrid Search, RRF/Weighted reranking, and BM25/TEXTEMBEDDING function configuration.
    • Expanded count queries, NOT IN, BETWEEN, grouped search, and hybrid-query filters.
    • Extended collection, field, index, partition, permission, and resource-group commands.
    • Added multi-row VALUES and paged Iterable/Iterator writes.
    • Added generated-key results through JDBC getGeneratedKeys().
    • Improved import file grouping, job ID results, status queries, and failure details.
    • Added single-address connections, TLS/mTLS, certificates, and token authentication, including configurable Zilliz Cloud endpoints.
    • Accepts descriptive Zilliz Cloud version strings without failing connection initialization.
    • Fixed range deletes ignoring LIMIT and the fixed row-retrieval cap.
    • Queries fetch on demand; updates and deletes use pages, with bounded retries and failure progress.
    • UPDATE uses native Partial Update to avoid overwriting unchanged fields.
    • SDK filter parameters prevent expression injection from string interpolation.
    • Fixed BM25 operator question marks being mistaken for parameters.
    • Fixed inconsistent temporal formatting between writes and filters.
  • JDBC and Other Adapters

    • Added MetadataSupport: all four adapters expose JDBC metadata according to database capabilities.
    • Improved column nullability, auto-increment flags, and array element types.
    • Fixed JDBC driver metadata reporting an outdated version.
    • Corrected generated parser directories in all four adapters so IDEs can resolve their packages.
    • Added generated-key selection by column name.
    • Fixed command-list clearing and parameter offsets during multi-command execution.
    • Fixed multiple-result access and resource cleanup on re-execution, cancellation, timeout, and close.
    • Fixed lost PreparedStatement bindings on re-execution.
    • Improved SQLType, date/time-zone, array, and primitive-array binding.
    • Fixed result-column matching and CallableStatement long-integer output.
    • Fixed slicing, bounds checks, and released-state handling for Array, Blob, and Clob.
    • Elasticsearch: enhanced aggregation, bulk writes, and field results.
    • Fixed Elasticsearch URL query separators and Java-time parameter serialization.
    • MongoDB: improved projection, Upsert, and field types; fixed temporal BSON encoding.
    • Redis: added EVAL, binary string reads and writes, and long-valued expiration parameters.
    • Fixed Redis quoted arguments and leading newlines in commands.
  • Core APIs and Dialects

    • Oracle and SQL Server dialects now support sequence retrieval through KeyType.Sequence and @KeySeq.
    • ClickHouse: added vector ordering, range filtering, and ChVectorTypeHandler.
    • ClickHouse: added a choice of lightweight or Mutation deletes.
    • Parameter templates support escaped literal markers and colons adjacent to positional markers.
    • Fixed expressions being mistaken for parameter configuration and whitespace lost in XML commands.
    • Fixed vector ordering bypassing field TypeHandlers.
    • Fixed enums bound as JDBC OTHER and precision loss when converting decimal text.
    • Fixed specialJavaType not reaching handlers and corrected handler fallback caching.
    • Fixed generated-key backfill into a single Mapper Map argument.
    • Fixed free-form queryForMap() returning an empty Map; column labels, aliases, and null values are preserved.
    • Fixed entity-type resolution and rebuilt page-number offsets for PageResult<T>.
    • Fixed default null ordering and improved NULLS FIRST/LAST with ascending and descending order.
    • Fixed stale transaction state, leaked connection references, and lost bindings after initialization failures.
    • Fixed new transaction isolation settings affecting the outer transaction.
    • Hasor data source configuration, Session wiring, and Mapper scanning are now composable.

Upgrade Notes

  • Runtime: 6.8.0 requires Java 17+ to build and run. JDK 8 is no longer supported.
  • Dependencies: Cobble is upgraded from 5.0.2 to 5.0.3. Keep dbVisitor modules on matching versions.
  • Milvus versions: supports 2.6.x, starting at 2.6.2; 3.0 is not supported.
  • Milvus feature requirements: nullable vectors require 2.6.18+; TRUNCATE requires 2.6.11+.
  • Milvus connections: use one address per JDBC connection; update multi-address configurations.
  • Milvus custom clients: createMilvusClient() now returns MilvusClientV2, not MilvusServiceClient.
  • Milvus SDK extensions: update custom factories, interceptors, and unwrap calls for the V2 client.
  • Milvus paged writes: operations are not atomic across pages; check completed progress after failures.
  • Milvus write retries: maxRetry limits retries of failed page-write calls.
  • Milvus JDBC features: multiple commands and multi-row writes are not JDBC Batch; Batch and transactions remain unsupported.
  • Vector handlers: PgVectorTypeHandler moved from handler.array to handler.vector. Update Java, annotation, and XML references.
  • Custom adapters: supply nullable, autoIncrement, and elementType to the JdbcColumn constructor.
  • Metadata extensions: implement MetadataSupport on connections only when metadata is needed.
  • Hasor auto-configuration: DbVisitorModule and ConfigKeys are removed; use AutoConfigModule for configuration-file-based wiring.
  • Hasor manual wiring: use SessionConfigurer and MapperScannerConfigurer with registered data sources. See Hasor Integration.