Одна из самых сложных вещей о понимании Spring заключается в том, что Spring поддерживает несколько подходов к одной и той же проблеме.Spring DaoSupport и @PersistanceContext EntityManager?
Таким образом, в моем приложении я с помощью впрыскивается EntityManager, используя @PersistanceContext аннотацию, например:
@Repository
public class JpaDao extends JpaDaoSupport implements Dao {
@PersistenceContext(unitName = "PersistanceUnit", type = PersistenceContextType.EXTENDED)
private EntityManager em;
Является ли этот подход совместим с расширением JpaDaoSupport (что требует инъекционного в EntityManager)? Для меня это выглядит как два несовместимых подхода к решению одной и той же проблемы, но я хотел бы получить некоторые советы от кого-то, у кого больше опыта с Весной.
Если я не должен расширять JpaDaoSupport, как мне создать свой DAO с помощью подхода @PersistenceContext?
Я понимаю, как внедрить EntityManager, у меня это работает нормально. Моя проблема связана с лучшими практиками Spring DAO. –
Я думаю, что если вы используете JPA в качестве стандартного подхода, принудительное решение Spring (т. Е. Расширение JpaSupport) не имеет смысла. Если вы будете привязаны к инъекции JPA + EJB3, вы можете перенести свои банки на сервер приложений, когда захотите. Мои 2 микроцента :) – diega