FireStorm/DAO Features Matrix

Database Features

Feature Enterprise Architect
Import relational database schemas via JDBC. Any database with a standard-compliant JDBC driver can be supported. Yes Yes
Import relational database schemas from any ANSI-SQL compliant Database Definition Language (DDL) script. Yes Yes
In addition to exposing tables, views, and custom SQL statements as Data Access Objects, FireStorm/DAO exposes Stored Procedures as DAOs. Available for Sybase, Oracle, and SQL Server. Yes Yes
Round trip engineering: A synchronization wizard makes it easy to import new versions of a database (JDBC or SQL) schema without losing modifications made to a FireStorm/DAO project file. Database synchronization works by automatically importing new tables, views, and columns, without losing modifications made to existing objects. Yes Yes
Automatically recognizes MySQL auto-increment columns on import. Yes Yes
Support for DB2 and Oracle sequence types for auto-generated primary-keys. Yes Yes
Support for all standard JDBC data types including BLOB and CLOB. Yes Yes
Dynamic Update Method: Firestorm/DAO users can choose to generate static update methods that update every column every time, or a new dynamic update method that only updates columns that have been modified. Yes Yes
By default, BLOB types are automatically mapped to byte arrays and CLOB types are mapped to Strings. The implementation code for reading BLOB and CLOB columns is contained in a generated base class that can be customised if required. Yes Yes
Exposes all DAO types as Stateless Session Beans making it easier to integrate databases with SOA environments. If the JDBC DAO implementation strategy is chosen then the dynamic finder methods are also exposed for maximum flexibility. Yes Yes
Partial schema support: specify a list of tables and views to import from the database where DAOs are only required for a subset of the database. FireStorm/DAO Studio provides a graphical user interface for selecting the database elements for which a DAO tier is generated. The developer specifies a list of tables and views to import from the database. Yes Yes
Custom Data Access Objects with dynamic SQL. Effectively this means that the same DTO and DAO mapping can now be used with multiple SQL statements. A typical use-case for using Dynamic SQL statements with a Custom DAO is where a multi-table SELECT is implemented as a Custom DAO but there is a need for multiple "finder" methods. Yes Yes
Interactive SQL Tool allows queries to be tested directly from FireStorm/DAO Yes Yes
Database Schema Migration Too makes it possible to change the target database in a FireStorm/DAO project file and any SQL data types not supported by the new target database is automatically change to supported types, making it easy to migrate a schema to a new database platform. Yes Yes

DAO Features

Feature Enterprise Architect
Generate Data Access Object (DAO) interfaces, Data Transfer Object (DTO) classes, and Data Access Object (DAO) exception classes for each DAO defined in the project file. Yes Yes
Option to generate logging calls based on System.out.println() or log4j. Yes Yes
Generates complete Ant build script to compile and package the generated code. Yes Yes

JDBC DAO Code Generation

Feature Enterprise Architect
Generate Data Access Object (DAO) implementation that uses plain JDBC calls and SQL statements. Yes Yes
Support for custom SQL statements, including joins, bulk updates and deletes when generating DAO implementation based on JDBC. Yes Yes
Generates JDBC DAO code that is concise and is closer to human-authored code. Variable names are only prefixed with underscores if there is the possibility of a name clash with method parameters, making the code more readable. Generated finder methods contain a single line of code that delegates to a dynamic finder method rather than containing dozens of lines of repetitive code. Yes Yes

Spring DAO Generation

Feature Enterprise Architect
Generate Spring DAO code Yes Yes

Hibernate DAO Generation

Feature Enterprise Architect
Generate Hibernate DAO code Yes Yes

Web Application Generation

Feature Enterprise Architect
Generate Web applications for deployment onto standalone web containers (for example, Tomcat 4.x) or to full J2EE platforms. The generated Web application contains JSP pages, Struts Actions, and a DOA tier based on JDBC DAO or Spring DAO or Hibernate DAO. Yes Yes
Generate a complete JSP Struts Web application for interacting with the generated DAO tier. The generated application is based on the Apache Struts framework and contains full functionality for inserting, updating, deleting, and searching records using the DAO tier. For each table, view and custom DAO, the following artifacts are generated:
- Struts Actions for insert, update, and delete operations
- Struts Actions for each defined finder method
- ActionForm bean to represent DTO
- Relevant entries in struts-config.xml and tiles-defs.xml
- JSP pages for viewing and editing each DAO JSP pages for displaying input form and results page for each finder method
Yes Yes
Generate plain JSP Web application (not using the Struts framework). Yes Yes

Custom DAO Code Generation

Feature Enterprise Architect
Write custom code generators in Java with full access to the FireStorm/DAO code generation API and project meta-data. No proprietary scripting or template language to learn. The code generation templates are Java code. No Yes
Full access to the source code for the JSP, Struts JSP, JDBC DAO, Hibernate DAO and Spring DAO code generation modules allowing them to be completely customized. No Yes
Preview source code for new features in upcoming product releases. No Yes
Source code samples for customization and optimization of code generation templates. No Yes

Licensing and Source Code

Feature Enterprise Architect
Generate unrestricted code No* Yes
Full product source code included. No Yes

* Enterprise Edition is limited to code generation for a small number of tables. The Architect Edition has no restrictions and ships with full source code, providing the benefits of open source combined with commercial support.

Free Evaluation: Download FireStorm/DAO