Skip to main content

Eclipse Community Forums
Forum Search:

Search      Help    Register    Login    Home
Home » Eclipse Projects » EclipseLink » Eclipselink v1 API and eclipselink JPA co-existence?(Can two applications, one using the 'toplink' v1 API and the other using Eclipselink JPA function against a common database?)
Eclipselink v1 API and eclipselink JPA co-existence? [message #1723225] Fri, 12 February 2016 15:21
Thom Park is currently offline Thom ParkFriend
Messages: 12
Registered: June 2012
Junior Member
Allow me to explain. We have to applications, an old monolithic one that uses the old "toplink" v1 API. The other newer application, we'd like to use eclipselink JPA.

We have one challenge however, these applications 'talk' to the same database schema and we'd like to share a common cache across the instances of the two apps to avoid having to force an object refresh on every access to pick up any updates performed by the other application.

Currently we use cache-coordination -but that would mean our newer applications have to use the old API (since lazy loading isn't transparent with the old API - ValueHolderInterfaces abound!)

Reading the documentation, I see that in the newer JPA annotations-based API, though the entity isn't defined as having Valueholders in the java class definitions, I see that they are still employed and 'weaved in' at runtime. That gives me pause for thought.

If I were to define a JPA based entity with lazy-loaded one-to-many relationships, what would the object in the entity cache look like? Would it have a ValueHolder implementation as a placeholder or would it have the java collection as defined in the original class file ?

Where am I going with this?

The two applications are accessing exactly the same data in the database, both are mapped to the same schema so the source data is the same, I'm trying to understand what would happen if a class from the JPA world was merged into the cache of the v1 API world - both classes would have the same full name ( say) and would have the same id, but would have a subtly different shape - would I be facing a disaster?

Of course, I could use cache invalidation as my cache coordination scheme - in that case, I'd assume that there wouldn't be a problem with the caches holding different objects, since I'd never try to merge the 'JPA' class into the 'v1API' class.

Sorry to ramble - Does anyone know how the weaved in Valueholder manifests itself in the cache? Opinions?

[Updated on: Fri, 12 February 2016 15:24]

Report message to a moderator

Previous Topic:Using cache-coordination across different eclipselink version
Next Topic:Stream traversal of lazy loaded collections not working
Goto Forum:

Current Time: Thu Feb 25 20:15:11 GMT 2021

Powered by FUDForum. Page generated in 0.01986 seconds
.:: Contact :: Home ::.

Powered by: FUDforum 3.0.2.
Copyright ©2001-2010 FUDforum Bulletin Board Software

Back to the top