Apache OpenJPA Examples
Copyright © 2006,2010 The Apache Software Foundation.
Licensed under ASL 2.0 - http://www.apache.org/licenses/LICENSE-2.0
--------------------------------------------------------------------------------

Prerequisites:
  The following must be on the user's path:
         - Java SE 5 or 6
         - Apache ANT v1.6.5 or later

Building and Running Individual Examples:
  1) Open a command prompt to the directory where this README is located
  2) Change to the subdirectory of the example to build and run, like:
         cd hellojpa
  3) Run ANT
         ant
     For the hellojpa exmaple, at the end of the build you should see the text:
         "Hello Persistence!"

Building and Running All Examples:
  1) Open a command prompt to the directory where this README is located
  2) Run ANT with the "all" project
         ant all

