[infinispan-dev] [ISPN-31]JPA based cache store

Manik Surtani manik at jboss.org
Mon Jul 27 07:01:42 EDT 2009


On 23 Jul 2009, at 15:34, Alejandro Montenegro wrote:

> Hi guys,
> some thought about this issue. Mainly there are two option for the  
> implementation:
>
> 1- Objects stored in cache are by themselves Entites (marked with an  
> @Entity)
>
> 2- Create a kind of wrapper Entity for non-entities objects
>
> [1] Are more straight forward and should perform better, but are  
> restricted to Enities
> [2] Are more complex to develop, as have to figure out a good  
> structure fot the wrapper, but satifies a lot of more use cases.

I think we can offer both.  The cache store could maintain two hash  
sets - known @Entity types and known types that are not entities.   
These would be populated lazily by testing for the @Entity annotation  
every time a new user type is encountered.  These sets could then be  
consulted when deciding how to persist an object: either treat it as a  
an @Entity or wrap it in an EntityContainer.

The structure of an EntityContainer should be pretty straightforward,  
where it would contain two fields: a byte[] to hold the serialized  
form of the object being stored, and an ID which could be an auto  
incrementing key.

In either case you would still need a key -> value_id mapping entity,  
so when folks perform a lookup based on a key, you are able to locate  
the value.

Cheers
--
Manik Surtani
manik at jboss.org
Lead, Infinispan
Lead, JBoss Cache
http://www.infinispan.org
http://www.jbosscache.org







More information about the infinispan-dev mailing list