Releases: BitAspire/jdborm
Releases · BitAspire/jdborm
v0.4.1
Changelog
- Fix
InsertQuery.executeBatch()to correctly bindnullparameter values viaPreparedStatement.setNull() - Fix
InsertQuery.executeBatch()to use single-row INSERT SQL withaddBatch(), preventing "parameter not set" errors on JDBC batch execution - Add integration test for batch insert with nullable columns
Release v0.4.1 of jdborm — lightweight JDBC ORM library with fluent API.
v0.4.0
ON CONFLICT target API (0.4.0)
New features
- ON CONFLICT target columns:
.onConflict("id").doNothing()and.onConflict("unique_id").doUpdateSet(...) - ON CONFLICT ON CONSTRAINT:
.onConflictOnConstraint("pk_users").doNothing() - Static helpers:
InsertQuery.excluded("col")→"col = EXCLUDED.col"andInsertQuery.setClause("col", "expr")→"col = expr" - Unified batch columns: batch rows with different column sets now produce correct SQL with NULL padding
Deprecated (still work)
.onConflictDoNothing()→ use.onConflict().doNothing().onConflictDoUpdate()→ use.onConflict().doUpdateSet()
v0.3.1
v0.3.0
v0.2.1
v0.2.0 — Priority 1 features
What is new
Priority 1 features for JDBORM
- Raw SQL execution —
db.execute(sql, params),db.query(sql, mapper, params),db.querySingle(sql, type, params) - setRaw() — SQL expressions in INSERT/UPDATE (e.g.
setRaw(created_at, NOW())) - ON CONFLICT —
onConflictDoNothing(),onConflictDoUpdate(clauses...)on InsertQuery - Custom RowMapper —
SelectQuery.execute(RowMapper<T>)without reflection overhead - executeScalar() — single-value results (e.g.
SELECT count(*)) - Batch INSERT —
addBatch()/executeBatch()for multi-row inserts - Transaction API —
db.inTransaction(tx -> { ... })with auto commit/rollback - Full Javadoc on every public class, method, and field
See AGENTS.md for the complete API reference.
0.1.3
Full Changelog: v0.1.2...0.1.3
v0.1.2
Full Changelog: v0.1.1...v0.1.2
v0.1.1
Full Changelog: https://github.com/BitAspire/jdborm/commits/v0.1.1