Не уверен, что я понимаю TransactionAwarePersistenceManagerFactoryProxy

192

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

megazord
источник
193
Ржунимагу! Извините, просто не могу с этим поделать, я чуть не заплакал, когда увидел название объекта.
Эрик де Кортис
133
И именно поэтому, дорогие дети, Ява должна прекратить принимать наркотики.
Griwes
48
Вы знаете, что вы были в мире Java слишком долго, когда такие имена не кажутся такими необоснованными ...!
Брайан
27
Ребята. Эй, ребята, слушайте. Вы снова совершаете ошибку для новичка. Spring Framework - это не Java, а Java - это не Spring Framework. Не путай их.
Торбен
49
Что касается первоначального вопроса: это тот вид троллинга высокого качества, который я действительно могу оценить.
Торбен

Ответы:

20

Ответы непосредственно доступны в документации

Я понимаю, что это может помочь заставить мои DAO работать с простым JDO PersistenceManagerFactory.

Да. Прокси-сервер TransactionAwarePersistenceManagerFactoryProxy позволяет DAO работать с простой ссылкой JDO PersistenceManagerFactory, в то же время участвуя в управлении ресурсами и транзакциями Spring (или сервера J2EE). Вы наверняка можете использовать его в своем приложении. Но, не зная ваших точных потребностей, мы не можем подтвердить больше.

Могу ли я по-прежнему использовать его для доступа к своей фабрике для создания менеджера персистентности с учетом транзакций

DAO могут беспрепятственно переключаться между JNDI PersistenceManagerFactory и этим прокси-сервером для локального PersistenceManagerFactory.

Если объект, управляемый фабрикой, является одноэлементным, это что-то меняет? Почему бы просто не получить прямой доступ к PersistenceManagerFactory?

Обычно предпочтительно писать свои DAO на основе JDO с помощью Spring JdoTemplate, предлагая такие преимущества, как согласованные исключения доступа к данным вместо JDOException на уровне DAO. Тем не менее, управление ресурсами и транзакциями Spring (и внедрение зависимостей) будет работать и для DAO, написанных для простого API JDO.

Чанд Приянкара
источник