Skip to content

HTTPS clone URL

Subversion checkout URL

You can clone with
or
.
Download ZIP
JPAGEN is a module for the Play! Framework that aims at generating JPA Entities and Composite keys from metadata or a file containing a list of tables.
Java Python
branch: master
Failed to load latest commit information.
app/views/jpagen Added support for includes/excludes using regexp
conf Changed version to 1.0.2
documentation/manual
src Fix @ line 138 to call toLowerCase() before using TableName as a Clas…
.gitignore merge v1.0
README.textile updated documentation
build.xml Creation
commands.py Creation

README.textile

JPAGEN module

This module allows you to import a database tables to POJO instances.

Enable the JPAGEN module for the application

In the conf/application.conf file, enable the JPAGEN module by adding this line:

# The jpagen module
module.jpagen=${play.path}/modules/jpagen-[version]

or in the conf/dependencies.yaml file:
require:
play → jpagen [version]

Creating the conf/table_list.conf file from the database

play jpagen:create-list myapplication

Creating your domain model from the database

play jpagen:generate myapplication

This command will create the classes in the models package based on the database tables. This is useful is you have an existing database and you want to re-use this database.

List of properties you can override in conf/application.conf

  • db.driver (required)
  • db.url (required)
  • db.user (required)
  • db.pass (required)
  • db.default.schema (optional, default="")
  • jpagen.package.name (default=models)
  • jpagen.template.entity (default=jpagen/entity.tmpl)
  • jpagen.template.idClass (default=jpagen/idClass.tmpl)
  • jpagen.template.list (default=jpagen/list.tmpl)
  • jpagen.mode (required, possible values=MYSQL,ORACLE)
  • jpagen.excludes (optional, regular expression)
  • jpagen.includes (optional, regular expression)

Be sure to configure correctly your database access using your conf/application.conf file (db.user, db.pass, db.driver, db.url, etc…).

Made by @flexitpro (Visit flexitpro.com)
Something went wrong with that request. Please try again.