Configuration

In order to have a working configuration, the following are required:

A dependency on org.tynamo:tapestry-jdo

A JDO implementation (we use datanucleus in our examples, but others such as Apache JDO should work as well). The implementations typically have some way of integrating the JDO Enhancement process into the build; although not absolutely necessary (e.g. you could probably do that manually after you run your build and before packaging your app), it would probably be a good idea

A properly configured jdoconfig.xml or persistence.xml

Add dependency on Tapestry-JDO

Just adding this dependency will bring transitive dependency on jdo3.

Maven dependency for tapestry-jdo

Add your JDO implementation

Add your own dependencies for your JDO implementation if you're using something different:

JDO Implementation Dependencies

Configure build to instrument your JDO classes:

JDO Enhancer Configuration in Maven

Add your persistence store driver :

JDBC Driver Dependency

Setup your JDO configuration (jdoconfig.xml):

jdoconfig.xml

Contribute the PersistenceManagerFactory name to your AppModule:

Contribute Persistence Manager Factory name

Usage

Inject PersistenceManager into your pages:

Injecting JDO Persistence Manager

Auto-Commit in your pages

@CommitAfter in pages

Configure service transactional behavior

Service transactions

Use JDO object as page contex

Classes that use a simple primary key (e.g. Long, String, etc) can be used as an acitvation/passivation context directly