This release adds 2 notable features for engineering teams evaluating rollout.
Published 3mo
Search Engines
✓ No known CVEs patched
✓ No known CVEs patched in this version
Topics
antlr4
data-processing
java
java-library
json
json-processing
+6 more
json-query
json-query-engine
maven
query-engine
sql
sql-parser
Summary
AI summaryUpdates Added — Parameter Binding, Added — Object Mapping, and Class across a mixed release.
Full changelog
Added — Object Mapping
SQL4Json.queryAsandqueryAsList— map query results directly to Java records, POJOs, or basic types (both single-source and JOIN variants).PreparedQuery.executeAsandexecuteAsList(StringandJsonValueoverloads).SQL4JsonEngine.queryAsandqueryAsList.JsonValue.as(Class)andJsonValue.as(Class, Sql4jsonSettings)default methods on the sealed interface.MappingSettingssubsection ofSql4jsonSettingswithMissingFieldPolicyenum (IGNORE/FAIL).SQL4JsonMappingException(new sealed subclass ofSQL4JsonException).
Added — Parameter Binding
PreparedQuery.execute(String json, BoundParameters params)andexecute(JsonValue, BoundParameters).PreparedQuery.execute(String json, Object... positionalParams)shortcut.PreparedQuery.execute(String json, Map<String, ?> namedParams)shortcut.PreparedQuery.executeAs/executeAsListwithBoundParametersoverloads.SQL4JsonEngine.query/queryAsJsonValue/queryAs/queryAsListwithBoundParametersoverloads.BoundParametersimmutable carrier (named & positional modes,named()/positional()/of(Object...)/of(Map)factories,bind/bindAll,EMPTYsingleton).- Grammar support for
?(positional) and:name(named) placeholders throughout WHERE / SELECT / GROUP BY / HAVING / JOIN / function arguments. - Dynamic
LIMIT/OFFSETbinding (placeholders accepted in both positions). - IN-list expansion:
IN (?)+ collection bound → expanded to N literals; empty collection → zero-row predicate. LimitsSettings.maxParameters(default1024) — DoS guard against placeholder flooding.SQL4JsonBindException(new sealed subclass ofSQL4JsonException) — surfaced at substitute time for missing / extra / type-mismatch bindings, IN-list overflow, and LIMIT/OFFSET validation failures.
Changed
Sql4jsonSettingsgains amappingcomponent (all existing construction paths preserved via builder).- Grammar now recognizes
?and:nameas placeholders in value positions. LimitsSettingscanonical-constructor signature extended (maxParameters) — public callers using.builder()unaffected.SQL4JsonEnginebypassesQueryResultCachefor parameterized queries.- Internal: ISO date/datetime/instant parsing consolidated into
json.IsoTemporals;registry.DateCoerciondelegates.
Weekly OSS security release digest.
The CVE patches and breaking changes that affected production tools this week. One email, every Sunday.
No spam, unsubscribe anytime.
Share this release
About Sql4json
All releases →Related context
Beta — feedback welcome: [email protected]