Haha, just stumbled across this. It's funny to see, a whole three years after the end of the Persistence Wars, and in the face of the incredible success of JPA in almost every corner of Java development, that the conspiracy theorists are still out there, darkly hinting that
commercial organisations like Oracle, IBM, RedHat ... have their own vested interest in RDBMS technologies, or in selling application servers.
As if the old JDO vendors weren't
commercial organizations, or weren't selling their own technologies in which they had a
Well, look here, JPA won. Get over it. It won because it was a better-written specification, with a better feature set. It was written by serious people with an understanding of the marketplace, not by scary Unabomber types with beards. It had a simpler set of APIs and a simpler lifecycle model. It revolutionized O/R mapping by introducing the first annotation-based mapping layer. It was truly integrated with the EE5 environment. It had better support for detached objects, and a more flexible model for handling graphs of persistent objects. It concentrated on defining user-visible semantics, not implementation. But, just as importantly, it left out all kinds of useless junk that JDO threw in. The measure of a good spec is not only what it puts in, but also what it leaves out, and what it leaves for tomorrow.
It doesn't help to screech that your spec has a bigger feature set, not unless you can prove that those features are useful, and well-designed.
Now that JPA2 is introducing great new things like a truly typesafe query API (instead of the totally half-assed
fetch profiles stuff in JDO2) and a runtime-accessible metamodel, can't we all just agree that things turned out pretty well, in the end?