There are a lot of things that you could do. The simplest, and least cache-effective, would be to have two different EMFs that each have their own caches. These caches could be linked together (using the sjvm remote commit provider), so that data would stay consistent, but otherwise, this would be like using different databases.
If you can access the same data via both data sources, the other option would be to create your own data source that uses a ThreadLocal or something to decide which underlying data source to use, and tell OpenJPA to use that data source. Then, depending on the use case, you could select a different data source. Or, if the only thing that you need is different connection credentials when logging in, you could use a single data source and call EMF.createEntityManager(Map) with openjpa.ConnectionUserName and openjpa.ConnectionPassword key-value pairs in the map. Hope that helps, -Patrick -- Patrick Linskey BEA Systems, Inc. _______________________________________________________________________ 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. > -----Original Message----- > From: Don Brady [mailto:[EMAIL PROTECTED] > Sent: Wednesday, February 07, 2007 4:59 PM > To: open-jpa-dev@incubator.apache.org > Subject: Cache with two ConnectionFactories? > > I could not figure this out in reading the OpenJPA documentation. > > We have just the one database and set of tables, but we need > to have two > separate Connection Pools to the same database in order to have two > different userid's. > > (We want to set the priorities on the database differently > for access by > the two different usernames). > > One is to be used for updates and short queries, and the other for > queries expected to give large result sets. > > In these circumstances, is it possible to use the Data Cache and the > Query Cache? > > I am worried that if a new entity / data row is created in the Data > Cache under one userid/pool/connectionFactory, it will not show up in > the Query Cache for the other userid/pool/connectionFactory > if a query > is done. > > Thanks and if this is off-topic please let me know. > > Maybe the thing to do would be to have a cache enabled for the > userid/pool/connectionFactory used for short queries and > updates, but no > cache for the userid/pool/connectionFactory? > > Don >