Daobab vs JPA

DAOBABJPA
Entities
Value storagemap via keyfields via reflection
Mappings definitioninterfaceannotation
Embedded tables and relations between tablesoptionally per querydefinied once for all queries
Full ORM (objects instead of ids)YES (OPTIONAL)NO
Entities vs database policyAll detachedDetached or attached
Single Entity many DataSources YESdepends of implementation
Relation definitionautomaticmanual,by annotations
Reverse engeeneringbuild inexternal
TypeScript classesYESNO
Queries
Query BuildSQL-like Java codeString or Criteria
Single line expressionsYESNO
Instant resultYESNO
Query styleone, chained linemulti-line with parameters
TypeSafeYESNO
Query refactoringYESNO
Column name global refactoringYESNO
Column type global refactoringYESNO
Finding column usages in queriesYESNO
Finding table usages in queriesYESNO
Native queryYESYES
Recreate query structure from SQLYESNO
SQL JoinsYESNO
Smart JoinsYESNO
Queries platform independentYESNO
Abstract QueriesYESNO
Abstract TypesYESNO
Conditions in queryYESCRITERIA ONLY
Security
Protection against usage invalid column nameYESNO
Protection against usage invalid table nameYESNO
Protection against usage invalid table nameYESNO
Protection against usage invalid value typeYESNO
Protection against usage invalid return typeYESNO
Protection against usage invalid bracketsYESNO
Protection against literalsYESNO
Protection against deadlocksYES (Optional)NO
Error typesRuntimeExceptionsRuntimeExceptions
Difficulty
DAO layerREDUNDANTMANDATORY
No need to know DB table/column names and typesYESNO
ProjectionsAUTOMATICMANUAL
Relations OneToOne,OneToManyAUTOMATICMANUAL
Relations ManyToManyAUTOMATIC, AUTOMATICALY DETECTED CROSS TABLEMANUAL
Relations across many tablesAUTOMATICNO
Select single DB gives two resultsreturn firstERROR
Developer controls bufersYESNO (just ON/OFF)
Multiple datasourcesYESYES (more or less problematic)
PrimaryKey and Foreign Key automatic relationYESNO
Debugging
Debug queryYESNO (no values)
Query reexecution into DB toolYESNO
DataBase error policypropagation of database exceptionscovering database exceptions by own
Test query without databaseYESNO
Every error prints invalid queryYESNO
Readable syntaxYESNO
Performance
In-memory query executionYESNO
EntityBuffersYESNO
SQL Query cacheNOYES
Result cacheYes by customised buffersYes by limited space cache
Programmically scoped bufersYESNO
Library
Minimal Java version1.81.5
Framework independentYESNO
Single implementationYESNO
Third-party libraries independenceYESNO