The ORM era may have ended. Why? Because using functional expressions to transform data sets is one of the most powerful concepts in software engineering. Functional programming is very expressive and very versatile. It is at the core of data and data streams processing. We Java developers already know existing functional languages. Everyone has used SQL before, for instance. Think about it. With SQL, you declare table sources, project/transform them onto new tuple streams, and feed them either as derived tables to other, higher-level SQL statements, or to your Java program.
If only the mass of java lemmings figure this out: java (or any client side code) need only format the screen, accept input, edit it against the database, and ship it off to such database. Back in 2000, the disconnected nature of http made everything webby antagonistic to *nix/RS-232/database/VT220 of the time. One couldn't, reasonably, have a persistent connection to the persistent datastore. So, all that data management went to the disconnected client. Didn't actually mitigate the problem, since the web servers were also disconnected clients to the databases. Thus, the insanity of "eventual consistency" was born. Gad!!
With today's innterTubes, the PC can function as a VT-220 and the innterTube connection as RS-232. Thin is in.