Référence exhaustive Mansart. Pour la prise en main, voir Démarrage rapide. Pour les patterns courants, voir Cas d’usage.
Artefacts Maven
| Artefact | Rôle |
|---|---|
|
Annotations ( |
|
Runtime : |
|
APT — métamodèle statique + génération |
|
SPI dialecte ( |
|
Dialecte H2 (référence tests + embarqué). |
|
Dialecte PostgreSQL (cible production). |
|
Bootstrap CDI 4.1 — BCE Vauban-compatible qui découvre les |
|
API publique pool : |
|
Implémentation |
|
|
|
Implémentation Jakarta Persistence 3.2. |
Modules JPMS
| Module | Exports |
|---|---|
|
|
|
|
|
|
|
TBD. |
Tous les modules sont JPMS strict — exports minimaux, pas d'`opens` non justifié, pas de classpath.
Annotations entité
| Mansart (zéro-dep) | Équivalent JPA reconnu |
|---|---|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
idem |
|
idem (relations propriétaires uniquement en v1) |
|
|
|
|
Règle APT : si @jakarta.persistence.Entity présent → annotations JPA. Sinon, @io.vidocq.mansart.data.Entity → annotations Mansart. Les deux ensemble → erreur de compilation explicite.
Hors scope v1 : @OneToMany, @ManyToMany, @MappedSuperclass, @Inheritance, @Convert/AttributeConverter. Reportés à mansart-persistence (M7).
Annotations repository
| Annotation | Usage |
|---|---|
|
Sur l’interface — déclenche la génération APT. |
|
Méthode finder par paramètres typés (paramètre Java = attribut entité). |
|
JDQL — SELECT/UPDATE/DELETE avec paramètres nommés ( |
|
Lifecycle annotations — paramètre = entité, collection ou varargs ; retour |
|
Ordre statique d’un finder. |
|
Surcharge la |
Annotations transactions
| Annotation | Usage |
|---|---|
|
Intercepteur CDI. TxType : |
|
Scope CDI dont la durée de vie épouse la transaction. |
Configuration PoolConfig
| Propriété | Type | Description |
|---|---|---|
|
|
URL JDBC complète. |
|
|
Login DB. |
|
|
Mot de passe. |
|
|
Connexions minimales pré-warmées (défaut 0). |
|
|
Borne dure du pool (défaut 10). |
|
|
Timeout sur |
|
|
Eviction d’une connexion idle (défaut 10 min). |
|
|
Eviction d’une connexion vieille (défaut 30 min). |
|
|
|
|
|
SQL si |
|
|
Stack-trace de fuite si une connexion reste empruntée plus longtemps. |
|
|
SQL exécuté au premier |
Dialectes pluggables
| Dialecte | Statut | Notes |
|---|---|---|
H2 |
✅ Livré |
Référence tests + embarqué. |
PostgreSQL |
⏳ M4 |
Cible production. |
MariaDB / MySQL |
❌ Backlog |
— |
SQL Server |
❌ Backlog |
— |
Oracle |
❌ Backlog |
— |
SQLite |
❌ Backlog |
— |
Découverte par ServiceLoader (provides DialectFactory with H2DialectFactory).
Compatibilité
-
Java 25 (LTS), Maven 3.9.16.
-
Jakarta Data 1.0 (livré), Jakarta Persistence 3.2 (M7 en attente), Jakarta Transactions 2.0.
-
CDI 4.1 Lite via Vauban.
-
Virtual Threads pour toute exécution JDBC.
Voir aussi
-
lien:https://codeberg.org/Vidocq/mansart/src/branch/main/PLAN.md[Mansart PLAN.md] — vision et ordre de travail global.
-
lien:https://codeberg.org/Vidocq/mansart/src/branch/main/mansart-jakarta-data/PLAN.md[mansart-jakarta-data PLAN.md] — plan détaillé du module Data.
-
lien:https://codeberg.org/Vidocq/mansart/src/branch/main/mansart-pool/PLAN.md[mansart-pool PLAN.md] — design pool.
-
lien:https://codeberg.org/Vidocq/mansart/src/branch/main/mansart-transactions/PLAN.md[mansart-transactions PLAN.md] — roadmap transactions.