diff --git a/website/src/pages/comparison.js b/website/src/pages/comparison.js index 564fc1212..35d1f75d4 100644 --- a/website/src/pages/comparison.js +++ b/website/src/pages/comparison.js @@ -66,16 +66,16 @@ function buildBody() { const matrix = ` - + - - - - - - - + + + + + + +
FeatureStormJPA / HibernatejOOQJimmerExposedFeatureStormJPA / HibernatejOOQJimmerExposedKtorm
Entity modelImmutable data class (~5 lines)Mutable class (~30, ~10 with Lombok)Generated from schemaImmutable interface (KSP-generated)DSL table object (+ optional DAO)
Immutable entitiesYesNoYesYesDSL only
Type-safe queriesYesCriteria APIYesYesYes
N+1 handlingSingle-query entity graphCommon pitfallManualBatched queriesManual
Full SQL escape hatchSQL templatesNative queriesIt is SQLSQL expressionsRaw exec()
LanguagesKotlin + JavaKotlin + JavaKotlin + JavaKotlin + JavaKotlin only
LicenseApache 2.0LGPL 2.1Commercial for some DBsApache 2.0Apache 2.0
Entity modelImmutable data class (~5 lines)Mutable class (~30, ~10 with Lombok)Generated from schemaImmutable interface (KSP-generated)DSL table object (+ optional DAO)Mutable interface (+ DSL table)
Immutable entitiesYesNoYesYesDSL onlyNo
Type-safe queriesYesCriteria APIYesYesYesYes
N+1 handlingSingle-query entity graphCommon pitfallManualBatched queriesManualManual
Full SQL escape hatchSQL templatesNative queriesIt is SQLSQL expressionsRaw exec()Raw JDBC
LanguagesKotlin + JavaKotlin + JavaKotlin + JavaKotlin + JavaKotlin onlyKotlin only
LicenseApache 2.0LGPL 2.1Commercial for some DBsApache 2.0Apache 2.0Apache 2.0
`;