Login | Register
My pages Projects Community openCollabNet

Project home

If you were registered and logged in, you could join this project.

Summary DB code generator produces Java code, DDL, and HTML from XML
Categories libraries, construction
License BSD License
Owner(s) chipzt

Chrysalis: A Database Schema Code Generator and Life-Cycle Management Tool


Develop a java-based tool that manages the life-cycle of the database schema and generates code and documentation artifacts. The tool transforms an XML description of a database schema into an HTML data dictionary, SQL scripts to create the database, and Java data access code. The tool automatically updates the documentation, scripts, and code as the schema is changed and updated. The tool also provides a simple but powerful data access programming model and framework for developing custom data access code. The generated Java code conforms to the Data Access Object (DAO) and Value Object (AKA Data Transfer Object) patterns that are described in the J2EE Java Blueprints.


  • Produce a tool that manages the full lifecycle of the database schema. It does this by:
    • Representing the schema in a database-independent XML format.
    • Generating HTML documentation, SQL DDL scripts, and Java code from the XML.
    • Providing modules to manage schema changes and update the generated artifacts.
  • Produce a DB code generator that produces about 80% of the code, scripts, and docs needed for any large-scale data access subsystem.
  • Provide a database access program model and framework that simplifies the production of the remaining 20% of the code as well as being the foundation of the generated code.
  • Provide efficient access to database schema meta-data at runtime.
  • Produce highly efficient Java and SQL code that can be executed with a minimum of overhead.


The latest version of Chrysalis supports Oracle 8i and 9i and MySQL. Eventually, support will be added for SQL Server 2000, and (maybe) DB2 8.0, Sybase and Postgres 7.2.

Project Status

You can now download both source and binary distributions for the alpha 0.4 version of Chrysalis. This release adds support for MySQL, with the exception of the reverse engineering module. This will be added in a future maintenance release. The next major release of Chrysalis will add support for entity classification and super- and subtypes. See the Roadmap document for more details.

Comparison to Torque

Chrysalis and Torque have very similar goals - generate DDL, documentation, and data access code. However, the solutions to those goals are very different, particularly with respect to code generation. Torque seeks to subsume both the details of data access and the differences between DBMS's when it generates persistent application objects. Chrysalis' approach is to produce finer-grained, highly efficient data access objects that exploit specific features of different DBMS's under the covers.

Chrysalis is a tool for the database engineer who wants to automate the more mundane parts of his or her job in order to concentrate on the essential tasks; Torque is a tool for a developer who doesn't want to deal with the specifics of a given DBMS.

Related Resources

My Blog