Monday, December 2, 2013

Re: JPA for GWT

Hi Arnaud,

As a member of the Errai team at JBoss, I just wanted to jump in and correct a few of your assertions here before any bad rumours get started.

There is no part of JPA that we ever claimed was unsupportable. We've started with a useful subset and we're working with the community to add new features as people find use cases for them on the client side. Most recently, we added support for abstract entity classes based on a request in our forum. Also, there's currently a community member who's thinking about contributing support for @Embeddable types.

From our reference guide, here's the list of stuff we said we "probably will" support eventually and "may never" support because of realities of the browser environment: https://docs.jboss.org/author/display/ERRAI/Errai+JPA#ErraiJPA-JPAFeaturesNotImplementedinErrai2.1

As far as needing to rewrite to add a feature, the errai-jpa code base is very clean, has plenty of API docs, and is thoroughly covered by JUnit tests. You can undertake a significant refactoring without fear of accidentally breaking an existing feature.

The errai-jpa code is also modular: the EntityManager implementation is fully separated from the underlying Window.localStorage backend by a StorageBackend interface. The idea is that one day our community might find a need for IndexDB (or even WebSQLDB) support and implement it. Thanks to the robust test suite, the exact contract of StorageBackend is negotiable.

Also, there's one incorrect item on your list of things we haven't implemented yet: we do support multiple persistence contexts. This feature is used by our errai-jpa-data-sync module for tracking the latest known state of entities on the server, but of course you can create additional persistence contexts for your own purposes.

Finally, I have to say everyone on the Errai team has a great track record of merging in pull requests from the community. We give pull requests our utmost attention and work with contributors to make sure their features and fixes are merged ASAP. See for yourself at https://github.com/errai/errai/pulls?direction=desc&page=1&sort=created&state=closed

Why not join us? Pick an aspect of our JPA implementation that's missing and you can't live without, then work with us to add it to what's already there. We're very friendly and always available to help contributors get their bearings on the errai-dev mailing list, #errai on FreeNode, and our web forum.

Best regards,
Jonathan

On Wednesday, 27 November 2013 11:59:43 UTC-5, Ltearno wrote:
The problem is that Errai is not supported by an underlying powerful SQL implementation. That's why they say those features will never be implemented, because that's not possible with their underlying data storage management (i guess but i am not 100% sure, that they use the LocalStorage which is just a key/value map, and they then build a minimal subset of JPA on top of it)

So anyway, that would mean rewriting a lot of code in the Errai project, which is great by the way.

Thanks
Arnaud


2013/11/27 Alain Ekambi <jazzma...@gmail.com>
ERRAI is open source. Why not extend or contribuate to it instead of rolling with a  yet a new library ? 
Sounds good though :)


2013/11/27 Arnaud TOURNIER <lte...@gmail.com>
Yes i know ERRAI but :

  • You can only execute very simple queries,
  • You cannot use any joins or nested attribute retrieval,
  • All queries should be parsable at compile time. That means you cannot generate dynamic queries during your application run,
  • Transactions are not possible,
  • You can have only one persistence context,
  • The GROUP BY clause is not supported...
That's why a REAL JPA implementation is missing...

Thanks !
Arnaud


2013/11/27 Subhrajyoti Moitra <subhra...@gmail.com>
try Errai framework. 


On Wed, Nov 27, 2013 at 9:26 PM, Ltearno <lte...@gmail.com> wrote:
Hi everybody,

I am planning to implement a fully compliant JPA library for GWT. But before i do so, i need to first know whether people would be interested by such a project.

So here is a survey that i ask you to fill, it will help me to focus on most important features first.

http://www.lteconsulting.fr/jpa-for-gwt.html

Thank you all !
Arnaud Tournier
http://www.lteconsulting.fr

--
You received this message because you are subscribed to the Google Groups "Google Web Toolkit" group.
To unsubscribe from this group and stop receiving emails from it, send an email to google-web-toolkit+unsubscribe@googlegroups.com.

To post to this group, send email to google-we...@googlegroups.com.
Visit this group at http://groups.google.com/group/google-web-toolkit.
For more options, visit https://groups.google.com/groups/opt_out.

--
You received this message because you are subscribed to a topic in the Google Groups "Google Web Toolkit" group.
To unsubscribe from this topic, visit https://groups.google.com/d/topic/google-web-toolkit/8k_pqIciRHQ/unsubscribe.
To unsubscribe from this group and all its topics, send an email to google-web-toolkit+unsubscribe@googlegroups.com.

To post to this group, send email to google-we...@googlegroups.com.
Visit this group at http://groups.google.com/group/google-web-toolkit.
For more options, visit https://groups.google.com/groups/opt_out.

--
You received this message because you are subscribed to the Google Groups "Google Web Toolkit" group.
To unsubscribe from this group and stop receiving emails from it, send an email to google-web-toolkit+unsubscribe@googlegroups.com.
To post to this group, send email to google-we...@googlegroups.com.
Visit this group at http://groups.google.com/group/google-web-toolkit.
For more options, visit https://groups.google.com/groups/opt_out.

--
You received this message because you are subscribed to a topic in the Google Groups "Google Web Toolkit" group.
To unsubscribe from this topic, visit https://groups.google.com/d/topic/google-web-toolkit/8k_pqIciRHQ/unsubscribe.
To unsubscribe from this group and all its topics, send an email to google-web-toolkit+unsubscribe@googlegroups.com.
To post to this group, send email to google-we...@googlegroups.com.
Visit this group at http://groups.google.com/group/google-web-toolkit.
For more options, visit https://groups.google.com/groups/opt_out.

--
You received this message because you are subscribed to the Google Groups "Google Web Toolkit" group.
To unsubscribe from this group and stop receiving emails from it, send an email to google-web-toolkit+unsubscribe@googlegroups.com.
To post to this group, send email to google-web-toolkit@googlegroups.com.
Visit this group at http://groups.google.com/group/google-web-toolkit.
For more options, visit https://groups.google.com/groups/opt_out.

No comments:

Post a Comment