Theres только две JPA поставщиков я бы рассмотреть возможность использования:
Если вы хотите придерживаться стандартных JPA Я хотел бы использовать EclipseLink. В то время как Toplink Essentials является эталонной реализацией JPA 1.0, EclipseLink в основном унаследовал код TopLink Essentials и будет эталонной реализацией JPA 2.0 (и в комплекте с Glassfish V3, когда он отправляется, ожидается в JavaOne в мае 2009 года). TopLink Essentials была несколько искалеченной версией коммерческого продукта TopLink от Oracle, но EclipseLink в основном обладает всеми функциями TopLink.
Другой выбор - это, очевидно, спящий режим. Он широко используется и зреет, но не исключает того, что я видел. Например, последнее, что я видел в Hibernate, имеет проблемы с сущностью, имеющей множественные отношения «один ко многим». Я не знаю, имеет ли Hibernate эквивалент подсказки пакетного запроса EclipseLink, но это невероятно полезная функция для решения этой проблемы.
Спящий режим, конечно, также поддерживает стандарт JPA. Самое большое преимущество Hibernate заключается в том, что если у вас возник вопрос о том, как он работает, поиск Google, скорее всего, найдет вам ответ.
Я честно не буду рассматривать ничего, кроме вышеупомянутых двух провайдеров.
почему бы вам не рассмотреть OpenJPA. Каждая реализация имеет свои преимущества и недостатки ... – b3bop 2012-01-18 00:17:29