[infinispan-dev] Re: Query API, JPA and a fine-grained model
Emmanuel Bernard
emmanuel at hibernate.org
Mon May 25 07:36:14 EDT 2009
All the JPA-QL grammar complexity comes from joins and navigation so I
think if you restrict yourself to no join or limited joins this should
be straightforward for someone that understands ANTLR.
On May 12, 2009, at 11:27, Manik Surtani wrote:
> So the plan is that we would implement a new fine-grained model to
> replace POJO Cache. Rather than AOP, we would use a JPA-like
> session-style interface where we can track changes made to state in
> a session to detect field changes [1]. This hugely simplifies the
> implementation and makes things more robust, plus provides people
> with a familiar JPA API to use.
>
> Now considering the query API, if we are already providing a JPA
> interface, this is another reason for the query API to support JPA-
> QL rather than just Lucene queries.
>
> The other reason, of course, is easy migration off using databases
> for persistence to using a data grid for persistence [2]. Now,
> naturally, the designs outlined in [2] can easily be achieved using
> Hibernate and a good distributed cache, but what happens when you
> don't actually want to persist your data at all, just want it to
> live in a grid (because you think your grid is "good enough" to not
> be unavailable, and/or your data is transient or can be
> recalculated), but you still want to use a JPA interface because
> either you are more familiar with it, or you started off storing
> this state in JPA and are now rethinking your persistence needs but
> don't want to rewrite your app.
>
> Of course, supporting JPA-QL in a distributed cache query API is not
> trivial. We know we can do this fairly easily with Lucene queries.
> Does anyone know of a mechanism to translate between these easily
> enough? If need be, this is something we could build. JPA-QL
> grammar is finite and an ANTLR [3] definition to translate these to
> Lucene query objects shouldn't be too hard ...
>
> Thoughts?
> Manik
>
> [1] http://www.jboss.org/community/wiki/NewFineGrainedReplicationAPIDesign
> [2] http://web2.sys-con.com/node/951117
> [3] http://www.antlr.org/
> --
> 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