Oakland Data Transformer - Database

Databases are mapped by using structures to correspond to single tables or sets of tables joined together. Sets of joined tables are managed with the inheritance facility combined with the use of the I/O database expressions.

A database is represented by a named database object. Instances of this database are identified separately subordinate to this object. This facilitates situations where there are test, QA and production instances. The database credentials (username/password) are optionally kept with the instance information or can be provided directly to the runtime for additional security in a deployed environment.

The database support is built on Hibernate which handles all of the SQL translation issues. Any database supported by JDBC/Hibernate can be supported. We currently test with Oracle, MySQL, DB2, SQL Server and HSQL.

A DatabaseSelect function is used to specify the WHERE condition for reading the table.

In most cases, only the condition part of the WHERE clause is necessary. However, the user can override this to specify the complete query string using HQL (Hibernate Query Language) which is very similar to SQL.

Multiple tables can be accessed by joining them using structure inheritance. There will be a simple wizard that allows tables to be joined. Both joins one-to-many and many-to-one joins are accommodated in this way. A DatabaseJoin expression is used to specify the WHERE condition for the join, where it supplements or overrides the information derived from the foreign key metadata.

The database values can be shown just as in any other type of structure. They are presented in XML format.

Part of the database import wizard.