Я пытаюсь использовать его org.springframework.orm.jdo.TransactionAwarePersistenceManagerFactoryProxy
в своем проекте Spring, но я не уверен, как его использовать или именно то, что я ищу. Я понимаю, что это может помочь заставить мои DAO работать с простым JDO PersistenceManagerFactory
. Другой вопрос: что произойдет, если прокси не будет создан правильно? Могу ли я по-прежнему использовать его для доступа к своей фабрике для создания диспетчера персистентности с учетом транзакций? Если объект, управляемый фабрикой, является одноэлементным, это что-то меняет? Почему бы просто не получить прямой доступ к PersistenceManagerFactory? Возможно PersistenceManagerFactoryUtils.getPersistenceManager
, будет больше соответствовать моим потребностям? Может getObject
вернуть ноль?
192
Ответы:
Ответы непосредственно доступны в документации
Да. Прокси-сервер TransactionAwarePersistenceManagerFactoryProxy позволяет DAO работать с простой ссылкой JDO PersistenceManagerFactory, в то же время участвуя в управлении ресурсами и транзакциями Spring (или сервера J2EE). Вы наверняка можете использовать его в своем приложении. Но, не зная ваших точных потребностей, мы не можем подтвердить больше.
DAO могут беспрепятственно переключаться между JNDI PersistenceManagerFactory и этим прокси-сервером для локального PersistenceManagerFactory.
Обычно предпочтительно писать свои DAO на основе JDO с помощью Spring JdoTemplate, предлагая такие преимущества, как согласованные исключения доступа к данным вместо JDOException на уровне DAO. Тем не менее, управление ресурсами и транзакциями Spring (и внедрение зависимостей) будет работать и для DAO, написанных для простого API JDO.
источник