Skip to content

✅ Release 0.1.0

Kaumei JDBC 0.1.0 is our first public preview. It focuses on proving that annotation processing can generate practical JDBC code without hiding SQL or leaning on reflection. Expect APIs to change before 1.0.0, but the core experience is ready for early adopters.

  • Supported Java versions: The published library artifacts support Java 17 and newer.
  • Code generation: Annotated interfaces automatically gain JDBC implementations with compile-time binding validation.
  • SQL-first workflow: @JdbcSelect, @JdbcUpdate, @JdbcBatchUpdate, and @JdbcNative keep SQL inline so reviews always see the queries being executed.
  • Type-safe mapping: Map records, classes, enums, and scalar values, and register converters with @JdbcToJava or @JavaToJdbc for bidirectional conversions.
  • Parameter expansion: Expand record names and values with :user.{names} and :user.{values} for inserts, and expand arrays or lists for IN (...) clauses.
  • Batch execution: Run batch updates with static or dynamic sizes while the generated code manages parameter binding and resource cleanup.
  • Generated values: Capture keys or columns from single-row updates directly into Java types.
  • Modern collections: Return List, Stream, or scalar values from select methods.
  • Integration hooks: Runtime code only needs a JdbcConnectionProvider, making it easy to wire into Spring, Micronaut, Quarkus, or plain Java apps.

Artifacts are published as 0.1.0 on Maven Central. Follow the installation guide to add jdbc-annotation, jdbc-core, and jdbc-processor with the same version and to enable annotation processing in your build.

  • Loading SQL from the classpath.
  • Calling stored procedures.
  • No first-class support yet for targeting several database dialects from one interface.
  • Diagnostics and documentation will continue to improve based on user feedback.

During the 0.x series we will:

  • Gather feedback and evaluate whether this approach is useful in practice.
  • Stabilise the annotation processor output and contract tests.

If there is little interest or feedback, the project may simply stay as it is.

Feedback is welcome on GitHub discussions or GitHub issues.