いくつかのポイント:
- Hibernate は JPA 実装であり、3 つのうちの 1 つです。Hibernate の作成者である Gavin King は、JPA に非常に熱心に取り組みました。アプリケーションからすべての JPA の使用を削除することは、前進ではなく後退です。移植性を失うだけで、利益はありません。
- TomEE の有無にかかわらず、Tomcat で JPA を使用できます。
Java EE を嫌い、Java EE から離れたいという点では、それは本当に不可能な作業になります。これらのテクノロジーはすべて Java EE の一部です。
- サーブレット
- JSP
- JSF
- JPA
- EJB
- CDI / @Inject
- JAXRS
- JAX-WS
- JMS
- Bean 検証
それらの一部を JavaEE とラベル付けし、一部を JavaEE とラベル付けすることは、一種の否定です。それらはすべて JavaEE の一部として作成およびリリースされています。
一部の反 JavaEE マーケティングが引き起こした混乱を解くことはほぼ不可能です。本当に有害なことは、3 つ以上の JavaEE テクノロジーを使用しない「非 JavaEE」アプリケーションを見つけることもほぼ不可能だということです。
「重い」問題と「多すぎる」問題に答えるために、2010 年に Web プロファイルが作成され、移植性を犠牲にすることなく、より小さなランタイムを作成できるようになりました。以下が含まれます。
- サーブレット
- JSP
- JSF
- JPA
- EJB(ライト)
- CDI / @Inject
- Bean 検証
分散トランザクションや重いものはありません。Tomcat、Hibernate、および Spring をスタックすると、以下が含まれます。
- サーブレット
- JSP
- JPA
- @注入
- Bean 検証
これらの API は、使用することを選択したかどうかに関係なく存在します。
実装自体を使用しても、標準 API を使用しないことにほとんど価値はありません。偽りの勝利です。同じランタイム コードを引き続き使用することになり、移植性がなくなります。