Niet zeker of ik TransactionAwarePersistenceManagerFactoryProxy begrijp

Ik probeer de org.springframework.orm.jdo.TransactionAwarePersistenceManagerFactoryProxyte gebruiken in mijn Spring-project, maar ik weet niet zeker hoe ik het moet gebruiken en of het precies is wat ik zoek. Ik realiseer me dat het kan helpen om mijn DAO’s te laten werken met een eenvoudige JDO PersistenceManagerFactory. Een andere vraag is: wat gebeurt er als de proxy niet goed wordt gemaakt? Kan ik het nog steeds gebruiken om toegang te krijgen tot mijn fabriek om een ​​transactiebewuste persistentiemanager te maken? Als het door de fabriek beheerde object een eenling is, verandert dat dan iets? Waarom niet gewoon rechtstreeks toegang tot de PersistenceManagerFactory? Misschien is PersistenceManagerFactoryUtils.getPersistenceManagermeer geschikt voor mijn behoeften? Kan getObjectnull retourneren?


Antwoord 1, autoriteit 100%

Antwoorden zijn direct beschikbaar in documentatie

Ik realiseer me dat het kan helpen om mijn DAO’s te laten werken met een eenvoudige JDO PersistenceManagerFactory.

Ja.
Met TransactionAwarePersistenceManagerFactoryProxy-proxy kunnen DAO’s werken met een eenvoudige JDO PersistenceManagerFactory-referentie, terwijl ze nog steeds deelnemen aan Spring’s (of een J2EE-server) bron- en transactiebeheer.
Je kunt het zeker in je app gebruiken. Maar zonder uw exacte behoeften te kennen, kunnen we niet verder bevestigen.

Kan ik het nog steeds gebruiken om toegang te krijgen tot mijn fabriek om een ​​transactiebewuste persistentiemanager te creëren

DAO’s kunnen naadloos schakelen tussen een JNDI PersistenceManagerFactory en deze proxy voor een lokale PersistenceManagerFactory.

Als het object dat door de fabriek wordt beheerd een singleton is, verandert dit dan dingen? Waarom niet gewoon rechtstreeks toegang tot de PersistenceManagerFactory?

Het heeft meestal de voorkeur om uw op JDO gebaseerde DAO’s te schrijven met JdoTemplate van Spring, wat voordelen biedt zoals consistente uitzonderingen voor gegevenstoegang in plaats van JDOExceptions op de DAO-laag. Het resource- en transactiebeheer van Spring (en Dependency Injection) werkt echter ook voor DAO’s die zijn geschreven tegen de gewone JDO API.

Other episodes