You are right about Objectify Jeff. I tried it and it's slick and simple. What I noticed about it is that it is heavily tied to JDO kind of persistence behaviour. I'm just curios about the JPA bit. I'll dig in more to see what I can find.
Kind regards On 2/21/11, Jeff Schwartz <[email protected]> wrote: > One more thing... Objectify's attibutes are GWT friendly so the same pojos > used on the server can also be sent to the client via serialization and used > there as well via the shared folder of course. > > Jeff > > On Mon, Feb 21, 2011 at 9:04 AM, Jeff Schwartz > <[email protected]>wrote: > >> Hi Kayode, >> >> The reason I recommend Objectify is because it eliminates the impedance >> mismatch that I experienced when first using JPA with App Engine. I found >> JPA's symantics too SQL oriented and therein lies the mismatch because >> Datastore is not SQL. Objectify's symantics are very close to the low >> level >> Datastore API as it is really a very thin wrapper & doesn't try to hide >> the >> fact that the Datastore isn't SQL. >> >> I then tried the low level API and I liked it and was very productive with >> it but it lacked one thing that I really wanted which was the ability to >> use >> Pojos to define my schemas. Objectify not only allowed me to use Pojos but >> it also provides for the use of DAOs which makes organizing service level >> apis very easy. >> >> Don't get me wrong, there's nothing wrong with using JPA/JDO, it just >> wasn't my cup of tea as they say :) >> >> Good luck. >> >> Jeff >> >> >> On Mon, Feb 21, 2011 at 8:54 AM, Kayode Odeyemi <[email protected]> wrote: >> >>> Thanks once again Jeff. >>> >>> I tried Objectify with a small project. Works fine. But nonetheless, >>> I'm still keen on getting my initial try with GWT/JPA/GAE compile and >>> run successfully. At the moment, I have no external library that >>> requires inclusion. >>> >>> I see some GWT/JPA samples from the book Google Web Toolkit 2 >>> Application Development Cookbook >>> (http://www.packtpub.com/article/working-entities-google-web-toolkit). >>> Let me see what I can get from it. >>> >>> Thanks >>> >>> On 2/21/11, Jeff Schwartz <[email protected]> wrote: >>> > Did you inherit the needed libs as well? For instance, I use Objectify >>> so I >>> > import the Objectify lib as: >>> > >>> > <inherits name="com.googlecode.objectify.Objectify"/> >>> > >>> > You would need to do similarly for any other libs you are using. >>> > >>> > Jeff >>> > >>> > >>> > >>> > On Mon, Feb 21, 2011 at 7:22 AM, Kayode Odeyemi <[email protected]> >>> wrote: >>> > >>> >> Thanks Lorenzo >>> >> >>> >> Could this be a reason why my Persistence-aware Entities cannot be >>> >> compiled even after placing them under client package? I did relocate >>> >> the Entities, placed my DTOs in shared package as well as added to my >>> >> module file this: >>> >> <!-- Specify the paths for translatable code --> >>> >> <source path='client'/> >>> >> <source path='shared'/> >>> >> >>> >> or does it have to be: >>> >> >>> >> <source path='com/foo/client' /> >>> >> <source path='com/foo/shared' /> >>> >> >>> >> But in as much as compile was successful, I still get the errors: >>> >> >>> >> The import javax.persistence cannot be resolved >>> >> [ERROR] Line 10: The import javax.persistence cannot be >>> resolved >>> >> [ERROR] Line 18: Entity cannot be resolved to a type >>> >> [ERROR] Line 21: Id cannot be resolved to a type >>> >> [ERROR] Line 22: GeneratedValue cannot be resolved to a type >>> >> [ERROR] Line 22: The attribute strategy is undefined for the >>> >> annotation type GeneratedValue >>> >> [ERROR] Line 22: GenerationType cannot be resolved >>> >> [ERROR] Line 25: Table cannot be resolved to a type >>> >> [ERROR] Line 25: The attribute name is undefined for the >>> >> annotation type Table >>> >> [ERROR] Line 26: NamedQueries cannot be resolved to a type >>> >> >>> >> >>> >> On 2/21/11, l.denardo <[email protected]> wrote: >>> >> > GWT compiles your java source into javascript using a restricted >>> >> > subset of allowed classes, and you cannot use anything built on non- >>> >> > compatible classes, tipically you cannot read classes with >>> persistence- >>> >> > related annotatios. >>> >> > >>> >> > Source code for your DTO must be accessible to thw GWT compiler. >>> >> > This >>> >> > is done adding a "source" entry in your gwt.xml file, as documented >>> >> > here: >>> >> > >>> >> >>> http://code.google.com/webtoolkit/doc/latest/tutorial/create.html#components >>> >> > >>> >> > In your case adding a <source path="com/foo"> should do. >>> >> > >>> >> > regards >>> >> > Lorenzo >>> >> > >>> >> > On Feb 20, 7:17 pm, Kayode Odeyemi <[email protected]> wrote: >>> >> >> I have resulted into using DTO to provide the client information >>> about >>> >> my >>> >> >> Entity. My DTO has the same getter and setter signatures just like >>> it's >>> >> >> respective Entity. >>> >> >> >>> >> >> But still getting "No source code is available for type >>> >> com.foo.UsersDTO; >>> >> >> did you forget to inherit a required module?" >>> >> >> >>> >> >> How do I then access persisted Entity objects from the client-side? >>> >> >> >>> >> >> >>> >> >> >>> >> >> On Sun, Feb 20, 2011 at 4:46 PM, Kayode Odeyemi <[email protected]> >>> >> wrote: >>> >> >> > To provide more details, I am sending data to the server via >>> GWT-RPC. >>> >> On >>> >> >> > the server I'm returning an Entity class object mapped by JPA. So >>> on >>> >> the >>> >> >> > client, I requested for the object via the normal way >>> >> >> > (AsyncCallback). >>> >> >> > So >>> >> >> > when I compile the code, GWT reports a "No source code" error, >>> >> >> > meaning >>> >> >> > I'm >>> >> >> > referencing the server class on the client side. >>> >> >> >>> >> >> > Some of my findings report that I either create the Entity on the >>> >> client >>> >> >> > side so that GWT can find it or create an implementation of the >>> >> >> > Entity >>> >> >> > on >>> >> >> > the client side overriding all the necessary methods. I am not >>> sure >>> >> >> > about >>> >> >> > the former as I believe the Entity is meant to be on the server >>> >> because >>> >> >> > it >>> >> >> > needs access to JPA. On the later, I have no idea of how to >>> implement >>> >> >> > that >>> >> >> > as the Entity needs access to JPA (GWT can't compile server code >>> on >>> >> the >>> >> >> > client side!). >>> >> >> >>> >> >> > Any clues please. >>> >> >> >>> >> >> > On Sun, Feb 20, 2011 at 4:10 PM, Kayode Odeyemi < >>> [email protected]> >>> >> >> > wrote: >>> >> >> >>> >> >> >> Hello, >>> >> >> >>> >> >> >> I will appreciate some guide as to where exactly to put JPA >>> mapped >>> >> >> >> Entity >>> >> >> >> classes. At the moment I have it >>> >> >> >> under "com.foo.server.domain". But whenever I compile the app, >>> GWT >>> >> >> >> returns: >>> >> >> >>> >> >> >> No source code is available for type >>> >> >> >> com.foo.server.domain.Users; >>> >> >> >> did >>> >> >> >> you >>> >> >> >> forget to inherit a required >>> >> >> >> module? >>> >> >> >>> >> >> >> -- >>> >> >> >>> >> >> > -- >>> >> >> >>> >> >> -- >>> >> >> Odeyemi 'Kayode O. >>> >> >> >>> >> >> B.Sc(Hons) Econs, Application Developer & Systems Engineer (Sun >>> >> Certified >>> >> >> Professional), >>> >> >> Oracle Certified Associate, Solaris Systems Administrator, Drupal >>> >> >> Developer >>> >> >> >>> >> >> Website:http://sinati.com<http://www.sinati.com> >>> >> >> Socialize with >>> >> >> me:http://profile.to/charyorde,http://twitter.com/charyorde, >>> >> >> >>> >> >> http://www.google.com/profiles/dreyemi >>> >> >> Skype:drecute >>> >> > >>> >> > -- >>> >> > You received this message because you are subscribed to the Google >>> >> > Groups >>> >> > "Google App Engine" group. >>> >> > To post to this group, send email to >>> [email protected]. >>> >> > To unsubscribe from this group, send email to >>> >> > [email protected]. >>> >> > For more options, visit this group at >>> >> > http://groups.google.com/group/google-appengine?hl=en. >>> >> > >>> >> > >>> >> >>> >> >>> >> -- >>> >> Odeyemi 'Kayode O. >>> >> >>> >> B.Sc(Hons) Econs, Application Developer & Systems Engineer (Sun >>> Certified >>> >> Professional), >>> >> Oracle Certified Associate, Solaris Systems Administrator, Drupal >>> >> Developer >>> >> >>> >> Website: http://sinati.com <http://www.sinati.com> >>> >> Socialize with me: http://profile.to/charyorde, >>> >> http://twitter.com/charyorde, >>> >> >>> >> http://www.google.com/profiles/dreyemi >>> >> Skype:drecute >>> >> >>> >> -- >>> >> You received this message because you are subscribed to the Google >>> Groups >>> >> "Google App Engine" group. >>> >> To post to this group, send email to [email protected] >>> . >>> >> To unsubscribe from this group, send email to >>> >> [email protected]. >>> >> For more options, visit this group at >>> >> http://groups.google.com/group/google-appengine?hl=en. >>> >> >>> >> >>> > >>> > >>> > -- >>> > *Jeff Schwartz* >>> > http://jefftschwartz.appspot.com/ >>> > follow me on twitter: @jefftschwartz >>> > >>> > -- >>> > You received this message because you are subscribed to the Google >>> Groups >>> > "Google App Engine" group. >>> > To post to this group, send email to [email protected]. >>> > To unsubscribe from this group, send email to >>> > [email protected]. >>> > For more options, visit this group at >>> > http://groups.google.com/group/google-appengine?hl=en. >>> > >>> > >>> >>> >>> -- >>> Odeyemi 'Kayode O. >>> >>> B.Sc(Hons) Econs, Application Developer & Systems Engineer (Sun Certified >>> Professional), >>> Oracle Certified Associate, Solaris Systems Administrator, Drupal >>> Developer >>> >>> Website: http://sinati.com <http://www.sinati.com> >>> Socialize with me: http://profile.to/charyorde, >>> http://twitter.com/charyorde, >>> >>> http://www.google.com/profiles/dreyemi >>> Skype:drecute >>> >>> -- >>> You received this message because you are subscribed to the Google Groups >>> "Google App Engine" group. >>> To post to this group, send email to [email protected]. >>> To unsubscribe from this group, send email to >>> [email protected]. >>> For more options, visit this group at >>> http://groups.google.com/group/google-appengine?hl=en. >>> >>> >> >> >> -- >> *Jeff Schwartz* >> http://jefftschwartz.appspot.com/ >> follow me on twitter: @jefftschwartz >> >> > > > -- > *Jeff Schwartz* > http://jefftschwartz.appspot.com/ > follow me on twitter: @jefftschwartz > > -- > You received this message because you are subscribed to the Google Groups > "Google App Engine" group. > To post to this group, send email to [email protected]. > To unsubscribe from this group, send email to > [email protected]. > For more options, visit this group at > http://groups.google.com/group/google-appengine?hl=en. > > -- Odeyemi 'Kayode O. B.Sc(Hons) Econs, Application Developer & Systems Engineer (Sun Certified Professional), Oracle Certified Associate, Solaris Systems Administrator, Drupal Developer Website: http://sinati.com <http://www.sinati.com> Socialize with me: http://profile.to/charyorde, http://twitter.com/charyorde, http://www.google.com/profiles/dreyemi Skype:drecute -- You received this message because you are subscribed to the Google Groups "Google App Engine" group. To post to this group, send email to [email protected]. To unsubscribe from this group, send email to [email protected]. For more options, visit this group at http://groups.google.com/group/google-appengine?hl=en.
