From 5d7f37f49a54302ac120bc1d4e8d3609fe0abc34 Mon Sep 17 00:00:00 2001 From: "Edward M. Kagan" Date: Tue, 23 Nov 2021 23:59:05 +0300 Subject: [PATCH] Article research started --- readme.md | 53 +++++++++++++++++++++++++++++++++++++++-------------- 1 file changed, 39 insertions(+), 14 deletions(-) diff --git a/readme.md b/readme.md index 3841e53..bca2f70 100644 --- a/readme.md +++ b/readme.md @@ -9,15 +9,28 @@ ## Initila list of techs -- [Apache Cayenne](https://github.com/apache/cayenne) -- [Ebean](https://github.com/ebean-orm/ebean) -- [jOOQ](https://github.com/jOOQ/jOOQ) -- [speedment](https://github.com/speedment/speedment) +[💳]: ## "non-free actually" +[✨]: ## "free and open-source" +[🧬]: ## "JPA (Java Persistence API)" +[🦠]: ## "JDO (Java Data Objects)" +[📝]: ## "DB-first" +[🧱]: ## "Object-first" +[🧰]: ## "Has tools package" +[🩹]: ## "Community driven tools" + + + +- [Apache Cayenne](https://github.com/apache/cayenne) [📝] [🧰] [✨] +- [Apache OpenJPA](https://github.com/apache/openjpa) [🧬] [✨] +- [Ebean](https://github.com/ebean-orm/ebean) [🧱] [🧰] [✨] +- [jOOQ](https://github.com/jOOQ/jOOQ) [💳] [📝] [🧰] +- [speedment](https://github.com/speedment/speedment) [💳] [📝] - [ORMLite Core](https://github.com/j256/ormlite-core) -- [EclipseLink](https://github.com/eclipse-ee4j/eclipselink) -- [MyBatis](https://github.com/mybatis/mybatis-3) +- [MyBatis](https://github.com/mybatis/mybatis-3) [📝] - [Querydsl](https://github.com/querydsl/querydsl) -- [Hibernate](https://github.com/hibernate/hibernate-orm) (as JPA representative - zero mark) +- [Hibernate](https://github.com/hibernate/hibernate-orm) [🧬] [🩹] [✨] +- [EclipseLink](https://github.com/eclipse-ee4j/eclipselink) [🧬] [✨] +- [DataNucleus](https://github.com/datanucleus) [🧬] [🦠] [✨] ## Initial criteria @@ -85,11 +98,23 @@ Good to see if: - **speedment** - cool-looking streaming API, but it's way of from common SQL-like syntax & failes to work with UUID columns corectly, also they wanna' our money, dude if we need something not straightly mapped. Out of competition. - **jOOQ** - enterprise style peace of ..., but still in. -- -- [Apache Cayenne](https://github.com/apache/cayenne) -- [Ebean](https://github.com/ebean-orm/ebean) -- [ORMLite Core](https://github.com/j256/ormlite-core) -- [EclipseLink](https://github.com/eclipse-ee4j/eclipselink) -- [Querydsl](https://github.com/querydsl/querydsl) -- [Hibernate](https://github.com/hibernate/hibernate-orm) (as JPA representative - zero mark) +## Article cross analysis + +Sources: + +- [Performance Evaluation of JPA Based ORM Techniques](https://www.researchgate.net/publication/313263645_PERFORMANCE_EVALUATION_OF_JPA_BASED_ORM_TECHNIQUES) - Hibernate and EclipseJPA are best of JPA realizations (2016) +- [Optimizing JPA Performance: An EclipseLink, Hibernate, and OpenJPA Comparison](https://dzone.com/articles/jpa-performance-optimization) - Hibernate looks better in comparison (2010) +- [JPA Performance Benchmark ](https://www.jpab.org/) - good starting point for testing JPA-based ORMs. Best parter for PostgreSQL denoted here is EclipseLink and Hibernate (2012) +- [Why JDO ?](http://db.apache.org/jdo/why_jdo.html) - feature comparison table for JDBC, EJB, JPA, JDO, etc. + +Tools: + +- [HibernateTools - Reverse Engineering and Code Generation](https://docs.jboss.org/tools/4.0.1.Final/en/hibernatetools/html/plugins.html#refeng_codegen) - how to generate classes for Hibernate from plain DB. + +#### Honorable mentioning + +- EJB 4.0 (now stands for Jakarta Enterprise Beans) is supported only in GlassFish 6 which is a part of Eclipse Foundation family. It's not included in research due to high binding to one particular implimentation with low chance of change in future. +- EOF (Enterprise Objects Framework) is a part of Apple now (originaly designed in NeXT). It supports java from back in a days, but now it's obsolete as of April 2005 (rise of Objective-C and Mac OS Tiger Intel-epoch) +- Oracle Kodo - JPA-based framework from Oracle, does not compete due to Oracle involvment and price tag. +- Oracle TopLink - part of Oracles' Fusion Middleware, was donated to Eclipse Foundation in 2007, and renamed to EclipseLink, so TopLink is obsolete now.