Vaadin does not tie you itself to any particular persistence framework, su you’re feel free to use any one. You only might have to implement Vaadin’s container interfaces to nicely bind data to UI components (however you can just use generic continaers such as BeanItemContainer).
As for JPA - please take a look at
JPA Container add-on - it just binds JPA data to Vaadin UI components - so it both is a fully functional addon and also can be used as example (see sources)
Oops, just made a post and then noticed that you are intersted in v 2.0 of JPA API… sorry, did not notice it earlier. Maybe JPA Container is in progress for 2.0 support, I think Vaadin folks will say better on the status.
This blog post shows how to integrate AppFoundation with LazyQueryContainer. I’ve been cooking up a blog post on how to use the container in an example application, but I’ve yet to finish and release to post.