One way to provide acccess to EntityManagerFactory/EntityManager to the SLSB is to collate JPA-related facilities into a separate class (say PersistenceService). PersistenceService will a) ensure EntityManagerFactory is created once (or at least not too often) as that is the 'heavy' operation b) provide EntityManager either i) by creating a new one in every call and/or ii) providing an existing EntityManager bound to the current thread (using ThreadLocal, for example) to emulate a session-per-thread model. This session-per-thread is useful when one bean calling another within the same transaction. c) this will provide a layer of isolation to the SLSBs from the actual implementaion of a persistence service.
Pinaki Poddar BEA Systems 415.402.7317 -----Original Message----- From: Hans Prueller [mailto:[EMAIL PROTECTED] Sent: Wednesday, February 21, 2007 1:02 AM To: open-jpa-dev@incubator.apache.org Subject: Howto integrate JPA within EJB2.1 session beans? [architecture] Hi together, I'm sorry for bothering you with numerous basic questions regarding OpenJPA and its usage but I have to migrate existing CMP EJBs to migrate within short time to OpenJPA as we're having stability issues with the current CMP engine. One last question I'd like to ask is regarding the recommended architecture of using OpenJPA within EJB2.1 Stateless sessino beans: I need to work with persistence i.e. the EntityManager throughout all the session beans methods so my idea is to: - create a EntityManagerFactory in the ejbCreate() method of the SLSB - and also create the EntityManager itself in the ejbCreeate() method and store it as a member variable of the SLSB - this would allow easy access within the SB's methods by just using the already initialized entity manager varialbe em.createNamedQuery() .. etc. etc. - clean up should be performed in the ejbRemove() method of the SLSB I think doing so will allow migratino to openJPA with less work than doing the whole lookup procedure in every method separately. what do you think? are there any pitfalls i've overlooked? thank you for your ideas! regards Hans -- "Feel free" - 5 GB Mailbox, 50 FreeSMS/Monat ... Jetzt GMX ProMail testen: www.gmx.net/de/go/mailfooter/promail-out _______________________________________________________________________ Notice: This email message, together with any attachments, may contain information of BEA Systems, Inc., its subsidiaries and affiliated entities, that may be confidential, proprietary, copyrighted and/or legally privileged, and is intended solely for the use of the individual or entity named in this message. If you are not the intended recipient, and have received this message in error, please immediately return this by email and then delete it.