Consideration on the 2017 Java Persistence Framework (1)


This post is a simple comparison table only. Impressions, thoughts, and individual memos will be continued in a separate article.

JPQL is used for JPA implementation, and usually there is no list of supported DBs. It's hard to see, so it's peta as an image.

Simple comparison table

As of the beginning of August 2017


(2017/08/04 Updated DB support status of Hibernate5.2 in response to comments. ) (2017/08/04 Updated Doma2 DB support status and changed the initial letter to uppercase)

○: Correspondence ×: Not supported -: Not specified

name license System latest SQL externalization DSL Oracle DB2 MySQL PostgreSQL MariaDB MS-SQL H2 Derby Sybase SQLite Dependence Java Supports Stream Lambda Remarks
S2DAO Apache2.0 OSS 2013/10 × - - None 1.4<= × seasar system, EOL
Doma1 Apache2.0 OSS 2015/07 - - - None 1.6<=8 × seasar system, EOL
Doma2 Apache2.0 OSS 2017/07 × - - - None 8 seasar system
S2JDBC Apache2.0 OSS 2015/10 - JPA × seasar system, EOL
Iciql Apache2.0 OSS 2017/05 × - - - - - None 6<= × Even if it is not specified, it will be handled by dialect
SimpleFlatMapper MIT OSS 2017/07 × × - - - - - - - - - - None 1.6<=9 × Since it is only mapping, there is no function such as DSL, it seems that a build error is in progress
mybatis Apache2.0 OSS 2017/07 - - - - - - - - - - None 1.6<= ×
Hibernate5.2 LGPL OSS 2017/07 × - JPA, JDBC4.2 8<= × redhat system
EclipseLink2.6 Eclipse Public License v1.0, Eclipse Distribution License v1.0 OSS 2016/08 × - - - JPA 7<= × eclipse system
Ebean Apache2.0 OSS 2017/07 × - - - - - - - - - - JPA 8<= ×
Cayenne4.0 Apache2.0 OSS 2017/01 × - - - - - - - - - - slf4j 7<= × Apache system, "portability is equivalent to JDBC and application"
jOOQ Apache2.0+Paid OSS+Closed 2017/07 ※2 ※1 ※1 ※1 - ? 8<=(*AdditionalLib6<=) × 「生成されたSQLはドライバがサポートしているすべてのDBに対応」とのこと、Paid版あり
Reladomo Apache2.0,CDDL,bsd(asm),MIT(slf4j) OSS 2017/07 × - - asm, slf4j 1.6.0_45<= × goldman sachs system
Speedment Apache2.0+Paid OSS+Closed 2017/07 × ※1 ※1 ※1 - - - - None 8<= Paidあり

Reference article

-How Hibernate was on the verge of ruining my career -What I think about the relationship between JPA and DDD

Recommended Posts

Consideration on the 2017 Java Persistence Framework (1)
Consideration on Java Persistence Framework 2017 (Summary) -1
Consideration on Java Persistence Framework 2017 (6) Ebean
Consideration on Java Persistence Framework 2017 (5) Iciql
Consideration on Java Persistence Framework 2017 (7) EclipseLink
Consideration on Java Persistence Framework 2017 (8) Hibernate5
Consideration on Java Persistence Framework 2017 (2) Doma2
Guess about the 2017 Java Persistence Framework (3) Reladomo
I tried the Java framework "Quarkus"
My thoughts on the equals method (Java)
Kick ShellScript on the server from Java
Install OpenJDK (Java) on the latest Ubuntu
Looking back on the basics of Java
Execute Java code stored on the clipboard.
Java framework comparison
[Java] Collection framework
Understanding the MVC framework with server-side Java 1/4 View
Understanding the MVC framework with server-side Java 3/4 Controller
Compile and run Java on the command line
I touched on the new features of Java 15
[Java] Memo on how to write the source
Understanding the MVC framework with server-side Java 2/4 Model
Let's touch on Java
Install Java on Mac
Deploy Java apps on the IBM Cloud Kubernetes service
Run PostgreSQL on Java
[Development] Java framework comparison
A survey of the Kubernetes native Java framework Quarkus
Get started with serverless Java with the lightweight framework Micronaut!
20190803_Java & k8s on Azure The story of going to the festival
[Java] [Play Framework] Until the project is started with Gradle
Tips around the sample to release Java Lambda on CodePipeline
How to switch Java in the OpenJDK era on Mac
Learning Java framework # 1 (Mac version)
Install OpenJDK7 (JAVA) on ubuntu 14.04
Downgrade Java on openSUSE Linux
I summarized the collection framework.
Reflection on Java string manipulation
Oracle Java 8 on Docker Ubuntu
Scala runs on the JVM
Java Collections Framework Review Notes
The Java Primer passed the blockage
Install Java on WSL Ubuntu 18.04
Run java applet on ubuntu
Put Oracle Java 8 on CircleCI 2
Java version change on CentOS
[Java] I implemented the combination.
Consideration about the times method
Java is the 5th day
Install java 1.8.0 on Amazon linux2
I studied the constructor (java)
Input to the Java console
I made the "Sunshine Ikezaki game" I saw on Twitter in Java.
Install the memcached plugin on MySQL and access it from Java
Understand code coverage with Rspec, the Ruby on Rails test framework
Display user-defined characters on the I2C 1602 LCD with Raspberry Pi 3 & Java
I tried to display the calendar on the Eclipse console using Java.
The behavior of JS running on `Java SE 8 Nashorn` suddenly changed