CRUD Generation Plugin Highlights
- Multiple CRUD implementations - To allow for use in and
comparison between a number of java technologies.
- Transaction support - All CRUD classes can be used with
both declarative (container) and programmatic transactions. Simple programmable
transactions are implemented on a transaction per thread strategy. Spring data
access classes can also use Spring programmatic APIs directly. Declarative
transactions are fully supported when using the Spring container or a Java EE 5
application server.
- Extensive logging - Using slf4j (simple logging facade for java),
defaulting to log4j implementation. When
used at DEBUG level all classes generate meaningful log entries for connections,
transactions, SQL and EJBQL statement executions. The use of
slf4j enables multiple logging
implementations to be used.
- - Ready to program against or deliver as an API. An
IDE will pick up
the javadoc from the code improving programming productivity. Examples of the
javadoc generated can be found here
and here, with more
being available from the downloads page.
- Correct handling of null - Some databases (notably Oracle) treat the
empty string as a null, others distinguish between the two. All generated
classes support both handlings and allow the blank string to be compared to and
changed to a null and vica versa in databases where they are considered
different.
- Captured data may be corrected at any time to provide more meaningful
names for java classes, fields and methods. This assists developers
coding against the database. This functionality is of special importance for
legacy databases with limited table and column name sizes such as those found on
the IBM AS400, where most column names are only six characters in length, and
table names ten. Take for example a customer file named CMMAST00 with a key of CMCUS#. Instead of generating methods such as Cmmast00.getCmcus(), the names
used can by changed to Customer and Customer Number to yield Customer.getCustomerNumber().
- Re-run over a database to capture changes to the database structure and
generate classes for only those tables that have changed or been added since the
last generation run. This prevents manual
changes to classes or metadata being overridden and version control packages and IDEs
being swamped by all classes being re-generated.
- Add missing relationships between files.
It is specially designed for relationships that exist at a logical or
programming level, but are not present in the database structure due to either
the age of the database, or where relationships are left out for performance
reasons. Once relationships are added, only classes affected by the added
relationships are re-generated and the relationships do not need to be
physically added to the database.
- Add additional information for User Interface presentation - By default, descriptions for table rows default to their
primary key. When using select boxes for parameter selection, displaying tab
headers or selection results, additional information such as a text description
column can be added to the information shown.
|