# HsqlDb support for the SQL generator

This package contains some classes and interfaces enhancing the SQL generator with HsqlDb specific features. HsqlDb is an open source database, written in Java. It is particularly well suited for JUnit tests, because it can run in embedded into the own JVM. HsqlDb is available from http://hsqldb.sf.net.

The HsqlDb support works by instantiating a different {@link org.apache.ws.jaxme.sqls.SQLFactory}: By default, you would enable {@link org.apache.ws.jaxme.sqls.impl.SQLFactoryImpl}. However, for HsqlDb support you would choose {@link org.apache.ws.jaxme.sqls.hsqldb.HsqlDbSQLFactoryImpl}, which is a subclass of the default factory.

Likewise, you need to replace the default implementation of the SQL generator, {@link org.apache.ws.jaxme.sqls.SQLGenerator} with {@link org.apache.ws.jaxme.sqls.hsqldb.HsqlDbSQLGeneratorImpl}

The difference between the factories is as follows: When using the HsqlDb factory, you may cast your instances of {@link org.apache.ws.jaxme.sqls.SQLFactory}, {@link org.apache.ws.jaxme.sqls.Schema}, {@link org.apache.ws.jaxme.sqls.Table}, and {@link org.apache.ws.jaxme.sqls.Column} to {@link org.apache.ws.jaxme.sqls.hsqldb.HsqlDbSQLFactory}, {@link org.apache.ws.jaxme.sqls.hsqldb.HsqlDbSchema}, {@link org.apache.ws.jaxme.sqls.hsqldb.HsqlDbTable}, and {@link org.apache.ws.jaxme.sqls.hsqldb.HsqlDbColumn}, respectively, and use the additional methods.