> Why does Apache ISIS use DataNucleus over Hibernate, despite hibernate being > faster than datanucleus
While it is very much for Apache ISIS team members to decide what they use (or provide access to) and why, and I'm not part of that process, I will reply however due to the "statement" made above. Disclaimer : I am a developer of DataNucleus, and its predecessor (JPOX). Over the years I've seen various "X is faster than Y" statements. In terms of DataNucleus, we have had people using alpha releases of DataNucleus and comparing against production releases of Hibernate, people making zero effort to configure DataNucleus compared with using their experience in configuring Hibernate, and people just taking overall end-to-end timings and paying no attention to what is actually being performed in terms of correctness, and so on. 1. The time taken to persist and retrieve data will almost never be a bottleneck in any application, particularly when compared to RDBMS speed, network latency, and other factors. As a result, technical correctness ought to be the most important factor. 2. DataNucleus has been demonstrated to be as fast or faster than Hibernate in many situations, when you bother to configure it. 3. DataNucleus has its own set of extension features that Hibernate does not provide (just like Hibernate has some that it thinks are important). 4. DataNucleus supports way more databases than Hibernate. 5. DataNucleus supports more APIs than Hibernate 6. DataNucleus is provided under a less restrictive license than Hibernate Cast a glance over https://datanucleus.wordpress.com/2013/02/07/performance-effect-of-various-features/ At the end of the day, there are many persistence solutions out there and the developer has a great choice available to them and, whatever they use, they should be able to develop good products. Just please don't come up with some incorrect statement to justify your choice for which you want to use. Regards -- Andy DataNucleus (Web: http://www.datanucleus.org Twitter: @datanucleus)
