Skip to main content

Notice: This Wiki is now read only and edits are no longer possible. Please see: for the plan.

Jump to: navigation, search


Design Specification: JPA 2.1 Formalized DDL generation support

ER 389090

Document History

Date Author Version Description & Notes
05 September 2012 Gordon Yorke Initial Doc creation

Project overview

In previous versions DDL generation was present in the specification but was not standardized and was not required. The next iteration of the Java Persistence API specification has added standardized provider DDL generation and made DDL generation a requirement.


DDL Generation is the scripting or direct database execution of database object creation SQL (Create Table, Create Index, ...) from metadata or user supplied scripts. The specification defines many mapping artifacts (OneToOneMapping, JoinColumn, etc) that contribute metadata to allow the provider to generate the DDL to define the structure of the database objects.


To implement the requirements of DDL generation and execution as defined in the specification. This includes but may not be limited to the Database objects:

  • Columns for all mapping types
  • Sequence Generators
  • Constraints
  • Indexes
  • Entity tables
  • Relationship tables
  • Schema

Support reading and executing user packaged DDL scripts and the generation of DDL scripts. Support processing configured target database information Support for a DDL Generation connection to be provided by the application or the container.

Design Constraints

Design / Functionality


Existing tests should be verified to ensure they include tests for creation of those database objects listed in the requirements list and any others included as part of the specification. Any untested areas should have additional tests added. Tests to execute and generate DDL scripts Tests for identifying target databases correctly.


New properties and new API are present in the specification to support DDL generation. These should behave as specified in the specification.


Config files


Work Required

  1. Metadata processing of new annotations w/ implementation in core
    approx 4 days
  2. Implement support for DDL script loading, execution and generation
    approx 3 days
  3. Implement handling of DDL generation connection
    approx 3 days
  4. Testing
    approx 6 days

Open Issues

This section lists the open issues that are still pending that must be decided prior to fully implementing this project's requirements.

Issue # Owner Description / Notes


This section lists decisions made. These are intended to document the resolution of open issues or constraints added to the project that are important.

Issue # Description / Notes Decision

Future Considerations

During the research for this project the following items were identified as out of scope but are captured here as potential future enhancements. If agreed upon during the review process these should be logged in the bug system.

Back to the top