Exhaustive Mansart reference. For onboarding, see Getting started. For everyday patterns, see Usage.
Maven artefacts
| Artefact | Role |
|---|---|
|
Runtime: |
|
CDI 4.1 Lite bootstrap (BCE): |
|
Shipped SQL dialects ( |
|
APT — static metamodel + |
|
Dialect SPI ( |
|
H2 dialect (test reference + embedded). |
|
PostgreSQL dialect (production target). |
|
CDI 4.1 bootstrap — Vauban-compatible BCE that discovers |
|
Pool public API: |
|
|
|
|
|
Jakarta Persistence 3.2 implementation. |
Java modules
| Module | Exports |
|---|---|
|
|
|
|
|
|
|
TBD. |
All modules are strict Java Modules — minimal exports, no unjustified opens, no classpath.
Entity annotations
Entities use the standard jakarta.persistence annotations: @Entity, @Table, @Id, @GeneratedValue, @Column, @Version, @Enumerated, @Embedded/@Embeddable, @ManyToOne, @OneToOne, @JoinColumn, @Transient. The processor reads them at compile time; no other annotation set is recognized (the early zero-dep Mansart annotations were retired in M7-29).
Out of scope v1: @OneToMany, @ManyToMany, @MappedSuperclass, @Inheritance, @Convert/AttributeConverter. Deferred to mansart-persistence (M7).
Repository annotations
| Annotation | Usage |
|---|---|
|
On the interface — triggers APT generation. |
|
Finder method by typed parameters (Java parameter = entity attribute). |
|
JDQL — SELECT/UPDATE/DELETE with named parameters ( |
|
Lifecycle annotations — parameter = entity, collection or varargs; return |
`OrderBy<Attr><Asc |
Desc>` (method-name infix) |
Static order on a derived finder; dynamic order via |
|
Transaction annotations
| Annotation | Usage |
|---|---|
|
CDI interceptor. TxType: |
|
CDI scope whose lifetime matches the transaction. |
PoolConfig configuration
| Property | Type | Description |
|---|---|---|
|
|
Full JDBC URL. |
|
|
DB login. |
|
|
Password. |
|
|
Idle connections kept warm (default 0). |
|
|
Hard pool bound (default 10). |
|
|
Timeout on |
|
|
Eviction of an idle connection (default 10 min). |
|
|
Eviction of an old connection (default 30 min). |
|
|
|
|
|
SQL used by |
|
|
Leak stack-trace if a connection is borrowed longer than the threshold. |
|
|
Bound on a validation probe (default 1 s). |
|
|
Extra driver properties ( |
|
|
Explicit |
Pluggable dialects
| Dialect | Status | Notes |
|---|---|---|
H2 |
✅ Delivered |
Test reference + embedded. |
PostgreSQL |
⏳ M4 |
Production target. |
MariaDB / MySQL |
❌ Backlog |
— |
SQL Server |
❌ Backlog |
— |
Oracle |
❌ Backlog |
— |
SQLite |
❌ Backlog |
— |
Discovered via ServiceLoader (provides DialectFactory with H2DialectFactory).
Compatibility
-
Java 25 (LTS), Maven 3.9.16.
-
Jakarta Data 1.0 (delivered), Jakarta Persistence 3.2 (M7 pending), Jakarta Transactions 2.0.
-
CDI 4.1 Lite via Vauban.
-
Virtual Threads for any JDBC execution.
See also
-
Mansart PLAN.md — global vision and work order.
-
mansart-jakarta-data PLAN.md — detailed plan of the Data module.
-
mansart-pool PLAN.md — pool design.
-
mansart-transactions PLAN.md — transactions roadmap.