|
Tomcat and Jetty are, still, the largest Servlet providers and actively maintained. Glassfish, Wildfly (what was JBoss), Apache TomEE, Payara (Glassfish fork), Open Liberty are all active and maintained OSS EE servers. Then there are the commercial only servers Weblogic and WebSphere and likely others. The Jakarta EE world is vibrant and robust, with a lot of the activity at the Mircoprofile and container level, since most of the core capabilities are quite mature. It's no longer some monster EE server running everything, necessarily. It supports all sorts of scenarios. After the name fork from Java EE to Jakarta EE, and the transfers of everything to Eclipse, the paperwork is finally slowing down and momentum building back up. Having written EE code for over 20 years, across servers, platforms, porting code, I have long appreciated what JEE brought to the table. Spring is a powerhouse, make no mistake. They have done a lot of innovation, and the EE standards are absolutely a reflection on things they brought to the table first along with insights from other parties. But they're just one implementation. The core JEE services have a wide array of implementations all with their own quirks and benefits. The folks working within the JEE standard track help lift all boats as, in time, all of the implementations catch up to the latest specifications. So it's a bustling and competitive space, without necessarily being completely wild west. The gives a lot of power to folks developing on top of it, with a platform offering reasonable stability while still offering diversity of implementations. |
Hibernate is an (extended) implementation of JPA. But that's because Hibernate innovated so much that they forced JPA to be better.
Leaving aside the ORM-love-hate discussion, you will do fine if you go with a JPA approach using Hibernate as the implementation. You should (theoretically) painlessly switch to another implementation.