Ik probeer de org.springframework.orm.jdo.TransactionAwarePersistenceManagerFactoryProxy
te 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.getPersistenceManager
meer geschikt voor mijn behoeften? Kan getObject
null 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.