Record) plutôt que des objetsSQLDialect, comme Hibernatemerge / insert ... on duplicate key updatelimit ... offset / rownumnvl / ifnull
Personne p=PERSONNE.as("p");
select(p.ID, p.NOM,p.PRENOM)
.from(p)
.where(p.NOM.like("Q%"));
select p.ID, p.NOM, p.PRENOM
from PERSONNE as p
where p.NOM like 'Q%'
<T1, T2> SelectSelectStep<Record2<T1, T2>>
select(Field<T1> field1, Field<T2> field2)
PersonneRecord personne = jooq
.selectFrom(PERSONNE)
.where(PERSONNE.ID.eq(id)).fetchOne();
personne.setPrenom("John");
personne.store();
StringBuilder en mieuxUpdatableRecordTables, Keys, Sequences, Routines...RecordDAO*POJO*DSL et sous classes: génération du SQL (fonctions...)DSLContext: DSL + ConnectionProvider, exécution du SQLStringRecords jusqu'au degré 22@Column JPARecordMapper<R extends Record, E extends Object>List,Map ou TableauDSLContext dans les DAOsDataSource dans un TransactionAwareDataSourceProxyExceptionsForeign Key ( ≠ lazy-loading)Map ou un TableauDynaBean possible| Open Source | Commerciales |
|---|---|
| Apache Derby, CUBRID, Firebird, H2, Hypersonic, MariaDB, MySQL, PostgreSQL, SQLite | IBM DB2, Ingres, MS Access, MS SQL Server, Oracle, Sybase Adaptive Server, Sybase SQL Anywhere, |
Annotation @Support sur le DSL
| Initial commit | Oct. 2009 |
| V 1.0.0 | Aout 2010 |
| V 2.0.0 | Nov. 2011 |
| V 3.0.0 | Avril 2013 |
| V 3.2.0 | Oct. 2013 Licence commerciale |
| V 3.4.0 | Juin 2014 |
| Open Source | ASL | pour BDD open-source |
|---|---|---|
| Express | 100€/an/dev | pour BDD express (prototypage) |
| Pro | 400/an/dev | pour BDD commerciales, code source et support inclus |
| Enterprise | 800/an/dev |
WITH) et récursivité| Hibernate | jOOQ | MyBatis | |
|---|---|---|---|
| CRUD | *** | *** | * |
| Batch | ** | *** | * |
| Dialectes | X | X | |
| Relation | *** | * | ** |
| Caching | X | X | |
| Communauté | *** | * | ** |
| Extensions | Envers, Validation, Spatial | Migrations |
| Hibernate | jOOQ | MyBatis | |
|---|---|---|---|
| Couverture SQL | * | ** | *** |
| DBA friendly | * | ** | *** |
| Ingrédients | 33% Java, 33% Annotation, 33% JPQL |
100% Java | 50% Java, 50% XML |
| Code Gen. | Criteria | Obligatoire | CRUD |
| Plugin IDE | JPQL | Obligatoire | |
| Open-source | 100% | 50% | 100% |