On 3 févr. 2014, at 15:21, Sanne Grinovero
<sanne(a)hibernate.org> wrote:
> On 3 February 2014 13:33, Emmanuel Bernard <emmanuel(a)hibernate.org> wrote:
> Hum, with the fact that this object now points to metadata, I wonder if
> we should force EhCache, Map and Infinispan to have their own version of
> EntityKey / RowKey and AssociationKey (or an appropriate externalizer).
Ok to consider it, but let's keep an eye on performance requirements:
allocating twice the objects which are strictly necessary is probably
not going to help.
Maybe if these where interfaces, each GridDialect could make his own type ?
The thing is only the key/value dialects do make use of the keys objects. And even in that
case, it might not make sense to actually reuse these objects. For example if the cache
name is the table and only the id columns are part of the key.
Is that edge case worth this complexity (interfaces and splitting the metadata)? Maybe
with optional methods in the grid dialect? That would still make me sad I guess :)