├── .gitignore ├── LICENSE ├── README.md ├── SimpleCompanyModel.png ├── jooq.gradle ├── settings.gradle ├── sql-updates ├── SimpleCompanyModel (draw.io).xml ├── create-script.sql └── sql_functions │ └── register_employee.sql └── src ├── main ├── java │ └── com │ │ └── clevergang │ │ └── dbtests │ │ ├── DbTestsApplication.java │ │ ├── Scenarios.java │ │ └── repository │ │ ├── api │ │ ├── DataRepository.java │ │ └── data │ │ │ ├── Company.java │ │ │ ├── Department.java │ │ │ ├── Employee.java │ │ │ ├── Project.java │ │ │ ├── ProjectsWithCostsGreaterThanOutput.java │ │ │ └── RegisterEmployeeOutput.java │ │ └── impl │ │ ├── ebean │ │ ├── EBeanDataRepositoryImpl.java │ │ └── entities │ │ │ ├── CompanyEntity.java │ │ │ ├── DepartmentEntity.java │ │ │ ├── EmployeeEntity.java │ │ │ ├── ProjectEmployeeEntity.java │ │ │ └── ProjectEntity.java │ │ ├── jdbctemplate │ │ └── JDBCDataRepositoryImpl.java │ │ ├── jdbi │ │ └── JDBIDataRepositoryImpl.java │ │ ├── jooq │ │ ├── JooqDataRepositoryImpl.java │ │ └── generated │ │ │ ├── DefaultCatalog.java │ │ │ ├── Keys.java │ │ │ ├── Public.java │ │ │ ├── Routines.java │ │ │ ├── Sequences.java │ │ │ ├── Tables.java │ │ │ ├── routines │ │ │ └── RegisterEmployee.java │ │ │ └── tables │ │ │ ├── Company.java │ │ │ ├── Department.java │ │ │ ├── Employee.java │ │ │ ├── Project.java │ │ │ ├── Projectemployee.java │ │ │ └── records │ │ │ ├── CompanyRecord.java │ │ │ ├── DepartmentRecord.java │ │ │ ├── EmployeeRecord.java │ │ │ ├── ProjectRecord.java │ │ │ └── ProjectemployeeRecord.java │ │ └── mybatis │ │ ├── DataRepositoryMapper.java │ │ └── MyBatisDataRepositoryImpl.java └── resources │ ├── application.properties │ ├── jooq │ └── queries │ │ └── getProjectsWithCostsUsingNativeQuery.sql │ └── mybatis │ ├── mappers │ └── DataRepositoryMapper.xml │ └── mybatis-config.xml └── test └── java └── com └── clevergang └── dbtests ├── EbeanScenariosTest.java ├── JDBIScenariosTest.java ├── JdbcTemplateScenariosTest.java ├── JooqScenariosTest.java └── MyBatisScenariosTest.java /.gitignore: -------------------------------------------------------------------------------- 1 | /.gradle 2 | /.idea 3 | /build 4 | -------------------------------------------------------------------------------- /LICENSE: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/bwajtr/java-persistence-frameworks-comparison/HEAD/LICENSE -------------------------------------------------------------------------------- /README.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/bwajtr/java-persistence-frameworks-comparison/HEAD/README.md -------------------------------------------------------------------------------- /SimpleCompanyModel.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/bwajtr/java-persistence-frameworks-comparison/HEAD/SimpleCompanyModel.png -------------------------------------------------------------------------------- /jooq.gradle: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/bwajtr/java-persistence-frameworks-comparison/HEAD/jooq.gradle -------------------------------------------------------------------------------- /settings.gradle: -------------------------------------------------------------------------------- 1 | rootProject.name="java-persistence-frameworks-comparison" -------------------------------------------------------------------------------- /sql-updates/SimpleCompanyModel (draw.io).xml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/bwajtr/java-persistence-frameworks-comparison/HEAD/sql-updates/SimpleCompanyModel (draw.io).xml -------------------------------------------------------------------------------- /sql-updates/create-script.sql: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/bwajtr/java-persistence-frameworks-comparison/HEAD/sql-updates/create-script.sql -------------------------------------------------------------------------------- /sql-updates/sql_functions/register_employee.sql: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/bwajtr/java-persistence-frameworks-comparison/HEAD/sql-updates/sql_functions/register_employee.sql -------------------------------------------------------------------------------- /src/main/java/com/clevergang/dbtests/DbTestsApplication.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/bwajtr/java-persistence-frameworks-comparison/HEAD/src/main/java/com/clevergang/dbtests/DbTestsApplication.java -------------------------------------------------------------------------------- /src/main/java/com/clevergang/dbtests/Scenarios.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/bwajtr/java-persistence-frameworks-comparison/HEAD/src/main/java/com/clevergang/dbtests/Scenarios.java -------------------------------------------------------------------------------- /src/main/java/com/clevergang/dbtests/repository/api/DataRepository.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/bwajtr/java-persistence-frameworks-comparison/HEAD/src/main/java/com/clevergang/dbtests/repository/api/DataRepository.java -------------------------------------------------------------------------------- /src/main/java/com/clevergang/dbtests/repository/api/data/Company.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/bwajtr/java-persistence-frameworks-comparison/HEAD/src/main/java/com/clevergang/dbtests/repository/api/data/Company.java -------------------------------------------------------------------------------- /src/main/java/com/clevergang/dbtests/repository/api/data/Department.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/bwajtr/java-persistence-frameworks-comparison/HEAD/src/main/java/com/clevergang/dbtests/repository/api/data/Department.java -------------------------------------------------------------------------------- /src/main/java/com/clevergang/dbtests/repository/api/data/Employee.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/bwajtr/java-persistence-frameworks-comparison/HEAD/src/main/java/com/clevergang/dbtests/repository/api/data/Employee.java -------------------------------------------------------------------------------- /src/main/java/com/clevergang/dbtests/repository/api/data/Project.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/bwajtr/java-persistence-frameworks-comparison/HEAD/src/main/java/com/clevergang/dbtests/repository/api/data/Project.java -------------------------------------------------------------------------------- /src/main/java/com/clevergang/dbtests/repository/api/data/ProjectsWithCostsGreaterThanOutput.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/bwajtr/java-persistence-frameworks-comparison/HEAD/src/main/java/com/clevergang/dbtests/repository/api/data/ProjectsWithCostsGreaterThanOutput.java -------------------------------------------------------------------------------- /src/main/java/com/clevergang/dbtests/repository/api/data/RegisterEmployeeOutput.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/bwajtr/java-persistence-frameworks-comparison/HEAD/src/main/java/com/clevergang/dbtests/repository/api/data/RegisterEmployeeOutput.java -------------------------------------------------------------------------------- /src/main/java/com/clevergang/dbtests/repository/impl/ebean/EBeanDataRepositoryImpl.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/bwajtr/java-persistence-frameworks-comparison/HEAD/src/main/java/com/clevergang/dbtests/repository/impl/ebean/EBeanDataRepositoryImpl.java -------------------------------------------------------------------------------- /src/main/java/com/clevergang/dbtests/repository/impl/ebean/entities/CompanyEntity.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/bwajtr/java-persistence-frameworks-comparison/HEAD/src/main/java/com/clevergang/dbtests/repository/impl/ebean/entities/CompanyEntity.java -------------------------------------------------------------------------------- /src/main/java/com/clevergang/dbtests/repository/impl/ebean/entities/DepartmentEntity.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/bwajtr/java-persistence-frameworks-comparison/HEAD/src/main/java/com/clevergang/dbtests/repository/impl/ebean/entities/DepartmentEntity.java -------------------------------------------------------------------------------- /src/main/java/com/clevergang/dbtests/repository/impl/ebean/entities/EmployeeEntity.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/bwajtr/java-persistence-frameworks-comparison/HEAD/src/main/java/com/clevergang/dbtests/repository/impl/ebean/entities/EmployeeEntity.java -------------------------------------------------------------------------------- /src/main/java/com/clevergang/dbtests/repository/impl/ebean/entities/ProjectEmployeeEntity.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/bwajtr/java-persistence-frameworks-comparison/HEAD/src/main/java/com/clevergang/dbtests/repository/impl/ebean/entities/ProjectEmployeeEntity.java -------------------------------------------------------------------------------- /src/main/java/com/clevergang/dbtests/repository/impl/ebean/entities/ProjectEntity.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/bwajtr/java-persistence-frameworks-comparison/HEAD/src/main/java/com/clevergang/dbtests/repository/impl/ebean/entities/ProjectEntity.java -------------------------------------------------------------------------------- /src/main/java/com/clevergang/dbtests/repository/impl/jdbctemplate/JDBCDataRepositoryImpl.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/bwajtr/java-persistence-frameworks-comparison/HEAD/src/main/java/com/clevergang/dbtests/repository/impl/jdbctemplate/JDBCDataRepositoryImpl.java -------------------------------------------------------------------------------- /src/main/java/com/clevergang/dbtests/repository/impl/jdbi/JDBIDataRepositoryImpl.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/bwajtr/java-persistence-frameworks-comparison/HEAD/src/main/java/com/clevergang/dbtests/repository/impl/jdbi/JDBIDataRepositoryImpl.java -------------------------------------------------------------------------------- /src/main/java/com/clevergang/dbtests/repository/impl/jooq/JooqDataRepositoryImpl.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/bwajtr/java-persistence-frameworks-comparison/HEAD/src/main/java/com/clevergang/dbtests/repository/impl/jooq/JooqDataRepositoryImpl.java -------------------------------------------------------------------------------- /src/main/java/com/clevergang/dbtests/repository/impl/jooq/generated/DefaultCatalog.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/bwajtr/java-persistence-frameworks-comparison/HEAD/src/main/java/com/clevergang/dbtests/repository/impl/jooq/generated/DefaultCatalog.java -------------------------------------------------------------------------------- /src/main/java/com/clevergang/dbtests/repository/impl/jooq/generated/Keys.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/bwajtr/java-persistence-frameworks-comparison/HEAD/src/main/java/com/clevergang/dbtests/repository/impl/jooq/generated/Keys.java -------------------------------------------------------------------------------- /src/main/java/com/clevergang/dbtests/repository/impl/jooq/generated/Public.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/bwajtr/java-persistence-frameworks-comparison/HEAD/src/main/java/com/clevergang/dbtests/repository/impl/jooq/generated/Public.java -------------------------------------------------------------------------------- /src/main/java/com/clevergang/dbtests/repository/impl/jooq/generated/Routines.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/bwajtr/java-persistence-frameworks-comparison/HEAD/src/main/java/com/clevergang/dbtests/repository/impl/jooq/generated/Routines.java -------------------------------------------------------------------------------- /src/main/java/com/clevergang/dbtests/repository/impl/jooq/generated/Sequences.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/bwajtr/java-persistence-frameworks-comparison/HEAD/src/main/java/com/clevergang/dbtests/repository/impl/jooq/generated/Sequences.java -------------------------------------------------------------------------------- /src/main/java/com/clevergang/dbtests/repository/impl/jooq/generated/Tables.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/bwajtr/java-persistence-frameworks-comparison/HEAD/src/main/java/com/clevergang/dbtests/repository/impl/jooq/generated/Tables.java -------------------------------------------------------------------------------- /src/main/java/com/clevergang/dbtests/repository/impl/jooq/generated/routines/RegisterEmployee.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/bwajtr/java-persistence-frameworks-comparison/HEAD/src/main/java/com/clevergang/dbtests/repository/impl/jooq/generated/routines/RegisterEmployee.java -------------------------------------------------------------------------------- /src/main/java/com/clevergang/dbtests/repository/impl/jooq/generated/tables/Company.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/bwajtr/java-persistence-frameworks-comparison/HEAD/src/main/java/com/clevergang/dbtests/repository/impl/jooq/generated/tables/Company.java -------------------------------------------------------------------------------- /src/main/java/com/clevergang/dbtests/repository/impl/jooq/generated/tables/Department.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/bwajtr/java-persistence-frameworks-comparison/HEAD/src/main/java/com/clevergang/dbtests/repository/impl/jooq/generated/tables/Department.java -------------------------------------------------------------------------------- /src/main/java/com/clevergang/dbtests/repository/impl/jooq/generated/tables/Employee.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/bwajtr/java-persistence-frameworks-comparison/HEAD/src/main/java/com/clevergang/dbtests/repository/impl/jooq/generated/tables/Employee.java -------------------------------------------------------------------------------- /src/main/java/com/clevergang/dbtests/repository/impl/jooq/generated/tables/Project.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/bwajtr/java-persistence-frameworks-comparison/HEAD/src/main/java/com/clevergang/dbtests/repository/impl/jooq/generated/tables/Project.java -------------------------------------------------------------------------------- /src/main/java/com/clevergang/dbtests/repository/impl/jooq/generated/tables/Projectemployee.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/bwajtr/java-persistence-frameworks-comparison/HEAD/src/main/java/com/clevergang/dbtests/repository/impl/jooq/generated/tables/Projectemployee.java -------------------------------------------------------------------------------- /src/main/java/com/clevergang/dbtests/repository/impl/jooq/generated/tables/records/CompanyRecord.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/bwajtr/java-persistence-frameworks-comparison/HEAD/src/main/java/com/clevergang/dbtests/repository/impl/jooq/generated/tables/records/CompanyRecord.java -------------------------------------------------------------------------------- /src/main/java/com/clevergang/dbtests/repository/impl/jooq/generated/tables/records/DepartmentRecord.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/bwajtr/java-persistence-frameworks-comparison/HEAD/src/main/java/com/clevergang/dbtests/repository/impl/jooq/generated/tables/records/DepartmentRecord.java -------------------------------------------------------------------------------- /src/main/java/com/clevergang/dbtests/repository/impl/jooq/generated/tables/records/EmployeeRecord.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/bwajtr/java-persistence-frameworks-comparison/HEAD/src/main/java/com/clevergang/dbtests/repository/impl/jooq/generated/tables/records/EmployeeRecord.java -------------------------------------------------------------------------------- /src/main/java/com/clevergang/dbtests/repository/impl/jooq/generated/tables/records/ProjectRecord.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/bwajtr/java-persistence-frameworks-comparison/HEAD/src/main/java/com/clevergang/dbtests/repository/impl/jooq/generated/tables/records/ProjectRecord.java -------------------------------------------------------------------------------- /src/main/java/com/clevergang/dbtests/repository/impl/jooq/generated/tables/records/ProjectemployeeRecord.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/bwajtr/java-persistence-frameworks-comparison/HEAD/src/main/java/com/clevergang/dbtests/repository/impl/jooq/generated/tables/records/ProjectemployeeRecord.java -------------------------------------------------------------------------------- /src/main/java/com/clevergang/dbtests/repository/impl/mybatis/DataRepositoryMapper.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/bwajtr/java-persistence-frameworks-comparison/HEAD/src/main/java/com/clevergang/dbtests/repository/impl/mybatis/DataRepositoryMapper.java -------------------------------------------------------------------------------- /src/main/java/com/clevergang/dbtests/repository/impl/mybatis/MyBatisDataRepositoryImpl.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/bwajtr/java-persistence-frameworks-comparison/HEAD/src/main/java/com/clevergang/dbtests/repository/impl/mybatis/MyBatisDataRepositoryImpl.java -------------------------------------------------------------------------------- /src/main/resources/application.properties: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/bwajtr/java-persistence-frameworks-comparison/HEAD/src/main/resources/application.properties -------------------------------------------------------------------------------- /src/main/resources/jooq/queries/getProjectsWithCostsUsingNativeQuery.sql: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/bwajtr/java-persistence-frameworks-comparison/HEAD/src/main/resources/jooq/queries/getProjectsWithCostsUsingNativeQuery.sql -------------------------------------------------------------------------------- /src/main/resources/mybatis/mappers/DataRepositoryMapper.xml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/bwajtr/java-persistence-frameworks-comparison/HEAD/src/main/resources/mybatis/mappers/DataRepositoryMapper.xml -------------------------------------------------------------------------------- /src/main/resources/mybatis/mybatis-config.xml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/bwajtr/java-persistence-frameworks-comparison/HEAD/src/main/resources/mybatis/mybatis-config.xml -------------------------------------------------------------------------------- /src/test/java/com/clevergang/dbtests/EbeanScenariosTest.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/bwajtr/java-persistence-frameworks-comparison/HEAD/src/test/java/com/clevergang/dbtests/EbeanScenariosTest.java -------------------------------------------------------------------------------- /src/test/java/com/clevergang/dbtests/JDBIScenariosTest.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/bwajtr/java-persistence-frameworks-comparison/HEAD/src/test/java/com/clevergang/dbtests/JDBIScenariosTest.java -------------------------------------------------------------------------------- /src/test/java/com/clevergang/dbtests/JdbcTemplateScenariosTest.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/bwajtr/java-persistence-frameworks-comparison/HEAD/src/test/java/com/clevergang/dbtests/JdbcTemplateScenariosTest.java -------------------------------------------------------------------------------- /src/test/java/com/clevergang/dbtests/JooqScenariosTest.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/bwajtr/java-persistence-frameworks-comparison/HEAD/src/test/java/com/clevergang/dbtests/JooqScenariosTest.java -------------------------------------------------------------------------------- /src/test/java/com/clevergang/dbtests/MyBatisScenariosTest.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/bwajtr/java-persistence-frameworks-comparison/HEAD/src/test/java/com/clevergang/dbtests/MyBatisScenariosTest.java --------------------------------------------------------------------------------