# Additional modules
# ~~~~~
# A module is another play! application. Add a line for each module you want
# to add to your application. Module paths are either absolutes or relative to
# the application root.
#
module.gae=${play.path}/modules/gae

Now you can start your application, and play will start a GAE development environment:

Play offers a cool abstraction of JPA through the JPASupport/Model classes. But when you use these classes on GAE a lot of problems occur. This is because the JPA support in GAE is very different of Hibernate + a relational database.

There are two reasons you would like use JPA on Google App Engine :

To be able to transparently move your application in/out of GAE

Because you already know the JPA API very well, and you want reuse this knowledge.

But these 2 reasons fail. The JPA support is so different in GAE that you just can’t use it in a transparent way. It will work only for a single simple entity without relations. But even with a simple relation, you’ll have to rely on special Google classes. And because the JPA support is very different,you can’t do things the way you are used to.

That’s why our advice is to not use JPA on Google App Engine. If you really want to use JPA, you should avoid using the JPASupport/Model helpers and just rely on simple JPA examples that Google provides.

We provide an alternative persistence manager module called Siena. It’s a better match and your application code should be even simpler than if you used JPA.