2010-12-27 5 views
0

У меня есть сомнения в концепции, я думаю, что я смешиваю некоторые вещи. У меня есть приложение с уровнем DAO, реализация этих DAO использует SessionFactory (Hibernate) для выполнения операции CRUD, у меня также есть уровень сервиса и управление моей единицей работы с Spring Declarative Transaction, и все работает нормально, я не уверен в для использования EntityManager или нет, но кажется, что это то, что он делает, это управлять моей единицей работы (то же самое, что я делаю с Spring).EntityManager + Spring Transactional Вопрос

Когда я должен использовать EntityManager? В чем преимущества его использования? Зачем мне это использовать?

спасибо.

ответ

2

EntityManager предназначен для JPA, что SessionFactory для спящего режима. Весна все еще может управлять вашей транзакцией, даже если вы используете JPA. Если ваш JPA-провайдер Hibernate, вы можете смешать и сопоставить Hibernate и JPA вещи безопасно, поскольку они оба работают вместе.

Сейчас подходит к вопросу о том, когда использовать EntityManager и преимущества:

Если вы начинаете новый проект, и если вы можете использовать JPA 2, то я предлагаю вам начать использовать его в качестве JPA является в спецификации (средства что если вы придерживаетесь спецификации, вы можете изменить реализации без изменения кода. Eclipseling, DataNucleus, OpenJPA - это некоторые примеры реализации спецификации JPA). Если вы не можете перейти к JPA 2, я предлагаю вам придерживаться Hibernate.

идут также через нижеприведенных сообщений

What does Hibernate/Toplink offer above JPA?

JPA or Hibernate for Java Persistence?

JPA 1 is not good enough

 Смежные вопросы

  • Нет связанных вопросов^_^