v6.8.0 (2026-09-16)
<dependency>
<groupId>net.hasor</groupId>
<artifactId>dbvisitor</artifactId>
<version>6.8.0</version>
</dependency>
Highlights
- Java 17 baseline: starting with 6.8.0, JDK 8 is no longer supported.
- Expanded Milvus data access: additional vector types, hybrid search, reranking, BM25, import jobs, and TLS/mTLS connections.
- Improved JDBC adapters: database, table, and column metadata, plus fixes for multiple results, parameter binding, and resource cleanup.
- Enhanced dialects: sequence keys for Oracle and SQL Server; vector operations and selectable delete modes for ClickHouse.
- 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
MilvusClientV2throughout. - 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.
- Upgraded the Java SDK from 2.5.4 to 2.6.22, using
-
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.
- Added
-
Core APIs and Dialects
- Oracle and SQL Server dialects now support sequence retrieval through
KeyType.Sequenceand@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
specialJavaTypenot 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.
- Oracle and SQL Server dialects now support sequence retrieval through
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 returnsMilvusClientV2, notMilvusServiceClient. - Milvus SDK extensions: update custom factories, interceptors, and
unwrapcalls for the V2 client. - Milvus paged writes: operations are not atomic across pages; check completed progress after failures.
- Milvus write retries:
maxRetrylimits 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:
PgVectorTypeHandlermoved fromhandler.arraytohandler.vector. Update Java, annotation, and XML references. - Custom adapters: supply
nullable,autoIncrement, andelementTypeto theJdbcColumnconstructor. - Metadata extensions: implement
MetadataSupporton connections only when metadata is needed. - Hasor auto-configuration:
DbVisitorModuleandConfigKeysare removed; useAutoConfigModulefor configuration-file-based wiring. - Hasor manual wiring: use
SessionConfigurerandMapperScannerConfigurerwith registered data sources. See Hasor Integration.