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.

Palm Trailer

Home Java Home Documentation Downloads Links Contact Us

Palm Trailer Last Updated 20 June 2011