JPA- an open source JCP standard has emerged to be a de-facto standard for implementing persistence in Java apps. Thanks to JPA, much of the JDBC-like boilerplate code is now obsolete. Google app engine tries to implement the JPA standard which is persisted POJO-based entities to BigTable- Google's homegrown distributed data store. BigTable powers several successful Google products like Google Earth for example. However, BigTable is not a relational database and thus some novelties of the JPA standard which was designed to replace JDBC to persist data into relation database are missing. For example, the popular inheritance mapping stratigies which are supported by several ORM frameworks like Hibernate, SQLMaps etc. are completely missing. Adding to the misery, you can't execute a polymorphic (e.g. from Employee should result all Employee types and subtypes) query against the BigTable. Furthermore, aggregate queries are left unaddressed.
Acceptance and partial support of the JDO and JPA standards is of course a nice move which would attract developers. However, the non-compliance with the standard will be a major bottleneck for the AppEngine's JPA implementation to pass the TCK.
Friday, July 24, 2009
Subscribe to:
Comments (Atom)