To me, the question of which ORM is the best is outdated. The problem with ORM is the 'O' and the 'R'.
A modern mapping solution, cannot be limited to RDBMS. It has to support XML files and streams, Web Services, mainframe transactions and other legacy or exotic data sources as well.
The same way, it cannot be limited to POJOs. It has to support business languages and BPM like workflow engines, SCA, JBI, BPEL, rules engines. These are not low-level programming languages like Java or C# and they can just rely on Web services to manipulate data coming from heterogeneous data sources (within the enterprise or avaliable on the Web). That's why the question of Data Services is becoming hot, and ORM is just one slight subset of it.
When comparing to Hibernate, JPOX is starting to expand in that direction:
- Support for several standards (JDO and JPA),
- Support for multiple data sources (RDBMS and db4o).
It is a good news to see they go in the right direction but they don't support SOA related standards like SDO and DAS and they don't support service-oriented data sources (Web services, mainframes transactions, stored procedures, packaged applications...).