I exchange directly JPA annotated POJOs between the client and the
server, and I persist the same objects within the servlet. GWT
compiler ignores the annotations, the servlet use them for
persistence. I do not use RequestFactory (I've not yet studied it,
probably I'll use it in the future but for other reasons), I'm using
GWT RPC and it works well.
I like this approach as I achieve minimal duplication with only one
class in the GWT's shared folder,
but there might be some side effect in some specific cases (all the
persistence logic has to be handled on the server side).
Cristiano