Каков выбор «низкого риска» между JDO или JPA? - PullRequest
1 голос
/ 11 октября 2010

Не закрывайте это как дубликат других вопросов, потому что Я не задаю то же самое . Им тоже около года. Тем не менее, смотрите эти ссылки:

http://db.apache.org/jdo/jdo_v_jpa.html

http://www.datanucleus.org/products/accessplatform/jdo_jpa_faq.html

http://www.datanucleus.org/products/accessplatform/persistence_api.html

Кажется, JPA - это «популярный» выбор, поддерживаемый крупными продавцами (которые любят вас подставлять, если могут). Кажется, JDO - более зрелый, казалось бы, лучший выбор, который должен пользоваться большей поддержкой сообщества OSS. (Но так ли это?)

Так что же должна делать организация с низким уровнем риска ? Трудность перехода от одного к другому примерно одинакова? Один начал выходить над другим в этот момент? Кроме того, только потому, что мы в настоящее время используем его, Hibernate ограничивает вас только JPA? Если да, то какая реализация JDO наиболее популярна?

Ответы [ 2 ]

1 голос
/ 11 октября 2010

@ Crusader - с чего вы взяли, что у кого-то на SO лучше хрустальный шар, чем у вас?

Так что же делать организации толерантности с низким уровнем риска?

Выберите альтернативу, которую it определяет как решение с низким уровнем риска. Как он определяет, какое решение имеет наименьший риск, ... неясно ... но я не думаю, что запрос SO является действительной процедурой оценки риска.

Другой момент заключается в том, что выбор JDO, когда JPA является «победителем» (или наоборот), вероятно, не убьет ваш проект в краткосрочной или долгосрочной перспективе. Последствия неправильного выбора, скорее всего, ограничиваются более высокими затратами на обучение персонала и застреванием на базовой платформе ORM, где разработка застопорилась, а поддержка становится все дороже. [Я бы защитил себя от последнего, выбрав платформу ORM с открытым исходным кодом ... в любом случае.]

Трудность перехода от одного к другому примерно одинакова?

Вероятно, да. Особенно, если учесть проблемы миграции данных.

Один начал появляться над другим в этой точке?

JPA, кажется, доминирует в эти дни. Люди из JDO сказали бы, что их путь технически лучше, но это не главное.

Кроме того, только потому, что мы в настоящее время используем его, Hibernate ограничивает вас только JPA?

JPA плюс специфичные для Hibernate расширения. Конечно, Hibernate не поддерживает и не поддерживает JDO, и, вероятно, никогда не сможет.

Если да, то какая реализация JDO наиболее популярна?

Pass.

0 голосов
/ 27 июля 2011

Если вы используете легковесное внедрение зависимостей и среду обтекания ORM, такие как exPOJO с открытым исходным кодом, это позволяет вам вообще обойти этот вопрос. Ваша основная кодовая база остается полностью независимой от базового интерфейса / технологии персистентности (JDO, реализации Hibernate, которые поддерживаются в настоящее время, JPA в пути - как протянуть руку?).

Весь код, специфичный для технологии персистентности, инкапсулирован в классы репозитория и сервиса в соответствии с превосходной книгой Криса Ричардсона «POJO в действии» и представлен с использованием паттерна «модель предметной области», который он обсуждает в книге - который оказывается довольно удивительным самый продуктивный подход, который я когда-либо использовал.

Использование exPOJO 99% вашего кода остается великолепно и мгновенно переносимым между JDO, JPA, Hibernate, плюс вы получаете чрезвычайно легкий и очень простой ввод зависимостей (без аннотаций или XML) в качестве дополнительного бонуса.

Он поставляется с собственным чрезвычайно легким и простым в использовании фильтром сервлетов, который может обеспечить "открытый вид менеджера сессий / персистентности / менеджера сущностей" без ада XML. Каждый HTTP-запрос автоматически присоединяется к объекту ModelExposer, который обеспечивает удобный доступ к репозиторию и служебным компонентам, которые обеспечивают общий доступ к вашим объектам.

exPOJO на http://www.expojo.com - да, хорошо, я написал это, поэтому я слегка предвзятый =]

...