1 2 Previous Next 19 Replies Latest reply on Jun 8, 2007 2:07 PM by david.hoffman Go to original post
      • 15. Quirky Behavior of Jackrabbit CMS?
        david.hoffman

        I have attempted to use mysql-connector-java-3.1.14-bin.jar based on the earlier post that the developer was using mysql-connector-java-3.1.4-beta-bin.jar.

        I am experiencing the same behavior. The content continues to exist so long as the portal is not stopped and then restarted.

        Is there anyone who has had success with this, or from jboss, that could offer some support to identify what it is that I have configured improperly which is causing this "quirky behavior"?


        I am using the latest production release JDBC driver for MySQL5.

        I have no doubt this is a configuration issue I may have missed. Can someone point me toward specific configuration files that I can provide which may shed some light on the matter.

        To recap:

        I am able to see new content in the CMSAdmin portlet, and in instances that are configured to point to it, so long as I don't restart. Once I restart all new data appears to be gone (from a UI perspective). I have confirmed that the content does in fact exist inside the database (after a restart), however the CMSAdmin porlet does not display it. Additionally any instance configured to display the content is showing a message:

        404 - Page Not Found
        Oops! We can't really find the resource you're looking for.

        I am running "jboss-portal-2.6-CR2-bundled" against a mySQL5 database. The portal is working fine, all functions as expected with the exception of the CMS Functionality



        • 16. Re: Quirky Behavior of Jackrabbit CMS?
          rharari

          Hi David,

          I´m using mysql-connector-java-5.0.4-bin.jar with MySQL5.0 and works fine.

          Try this:

          - change to store documents in file system and see the behaviour - if the documents are still there after restarting jboss server you will be sure that the problem is with your database or connector.
          http://docs.jboss.org/jbportal/v2.6/reference-guide/en/html/cmsPortlet.html#configuration-cms_fs


          - make sure that you have declared useServerPrepStmts=false in url connection:

          <connection-url>jdbc:mysql://localhost:3306/portal?useServerPrepStmts=false</connection-url>


          regards

          R.Harari[/url]

          • 17. Re: Quirky Behavior of Jackrabbit CMS?
            rharari

            another tip:

            Edit this file: portal-cms.sar\conf\hibernate\cms\hibernate.cfg.xml and force the dialect:

            ...
             <!-- Force the dialect instead of using autodetection -->
             <property name="dialect">org.hibernate.dialect.MySQL5Dialect</property>
            
             <!-- Mapping files -->
             <mapping resource="conf/hibernate/cms/domain.hbm.xml"/>
             </session-factory>
            




            • 18. Re: Quirky Behavior of Jackrabbit CMS?
              david.hoffman

              OK, I have been able to prove beyond a doubt that using the filesystem for document storage works just fine. I have followed all the recommendations above and, still, upon restart content disappears (it is in the database but not accessible by the portal).


              I am using the latest production release JDBC driver for MySQL5.

              I have no doubt this is a configuration issue I may have missed. Can someone point me toward specific configuration files that I can provide which may shed some light on the matter.

              To recap:

              I am able to see new content in the CMSAdmin portlet, and in instances that are configured to point to it, so long as I don't restart. Once I restart all new data appears to be gone (from a UI perspective). I have confirmed that the content does in fact exist inside the database (after a restart), however the CMSAdmin porlet does not display it. Additionally any instance configured to display the content is showing a message:

              404 - Page Not Found
              Oops! We can't really find the resource you're looking for.

              I am running "jboss-portal-2.6-CR2-bundled" against a mySQL5 database. The portal is working fine, all functions as expected with the exception of the CMS Functionality


              The following are all the config changes that have been made. Admittedly, most are in getting the Portal to use MySQL, but perhaps there is a chance that was missed that is affecting CMS. This is the complete list of files that have been modified away from the "out-of-the-box" clean install.

              Any assistance in this matter would be greatly appreciated.

              server/default/deploy/mysql-ds.xml
              <datasources>
               <local-tx-datasource>
               <jndi-name>DefaultDS</jndi-name>
               <connection-url>jdbc:mysql://localhost:3306/jboss26cr2?useServerPrepStmts=false</connection-url>
               <driver-class>com.mysql.jdbc.Driver</driver-class>
               <user-name>XXXXXXXXXX</user-name>
               <password>XXXXXXXXXX</password>
               <exception-sorter-class-name>org.jboss.resource.adapter.jdbc.vendor.MySQLExceptionSorter</exception-sorter-class-name>
               <!-- should only be used on drivers after 3.22.1 with "ping" support
               <valid-connection-checker-class-name>org.jboss.resource.adapter.jdbc.vendor.MySQLValidConnectionChecker</valid-connection-checker-class-name>
               -->
               <!-- sql to call when connection is created
               <new-connection-sql>some arbitrary sql</new-connection-sql>
               -->
               <!-- sql to call on an existing pooled connection when it is obtained from pool - MySQLValidConnectionChecker is preferred for newer drivers
               <check-valid-connection-sql>some arbitrary sql</check-valid-connection-sql>
               -->
              
               <!-- corresponding type-mapping in the standardjbosscmp-jdbc.xml (optional) -->
               <metadata>
               <type-mapping>mySQL</type-mapping>
               </metadata>
               </local-tx-datasource>
              </datasources>
              


              server/default/deploy/portal-mysql-ds.xml
              <datasources>
               <local-tx-datasource>
               <jndi-name>PortalDS</jndi-name>
               <connection-url>jdbc:mysql://localhost:3306/jboss26cr2?useServerPrepStmts=false</connection-url>
               <driver-class>com.mysql.jdbc.Driver</driver-class>
               <user-name>XXXXXXXXXX</user-name>
               <password>XXXXXXXXXX</password>
               <exception-sorter-class-name>org.jboss.resource.adapter.jdbc.vendor.MySQLExceptionSorter</exception-sorter-class-name>
               <!-- should only be used on drivers after 3.22.1 with "ping" support
               <valid-connection-checker-class-name>org.jboss.resource.adapter.jdbc.vendor.MySQLValidConnectionChecker</valid-connection-checker-class-name>
               -->
               <!-- sql to call when connection is created
               <new-connection-sql>some arbitrary sql</new-connection-sql>
               -->
               <!-- sql to call on an existing pooled connection when it is obtained from pool - MySQLValidConnectionChecker is preferred for newer drivers
               <check-valid-connection-sql>some arbitrary sql</check-valid-connection-sql>
               -->
              
               <!-- corresponding type-mapping in the standardjbosscmp-jdbc.xml (optional) -->
               <metadata>
               <type-mapping>mySQL</type-mapping>
               </metadata>
               </local-tx-datasource>
              </datasources>
              


              server/default/deploy/jboss-portal.sar/portal-cms.sar/conf/hibernate/cms/hibernate.cfg.xml
              <hibernate-configuration>
               <session-factory>
               <property name="connection.datasource">java:PortalDS</property>
               <property name="show_sql">false</property>
              
               <!-- caching properties -->
               <property name="cache.use_second_level_cache">true</property>
               <property name="cache.use_query_cache">true</property>
               <property name="cache.provider_configuration_file_resource_path">conf/hibernate/cms/ehcache.xml</property>
               <property name="cache.provider_class">org.hibernate.cache.EhCacheProvider</property>
              
               <!-- managed environment transaction configuration -->
               <property name="hibernate.transaction.manager_lookup_class">org.hibernate.transaction.JBossTransactionManagerLookup</property>
               <property name="hibernate.transaction.factory_class">org.hibernate.transaction.JTATransactionFactory</property>
              
               <!-- Force the dialect instead of using autodetection -->
               <!--property name="dialect">org.hibernate.dialect.PostgreSQLDialect</property-->
               <!--property name="dialect">org.hibernate.dialect.MySQLInnoDBDialect</property-->
              
               <!-- Force the dialect instead of using autodetection -->
               <property name="dialect">org.hibernate.dialect.MySQL5Dialect</property>
              
               <!-- Mapping files -->
               <mapping resource="conf/hibernate/cms/domain.hbm.xml"/>
              
               </session-factory>
              </hibernate-configuration>
              

              server/default/deploy/mysql-jdbc2-service.xml
              <server>
              
               <!-- ==================================================================== -->
               <!-- Persistence and caching using MySQL -->
               <!-- IMPORTANT: Remove hsqldb-jdbc2-service.xml -->
               <!-- -->
               <!-- ==================================================================== -->
              
               <!--
               | The destination manager is the core service within JBossMQ
               -->
               <mbean code="org.jboss.mq.server.jmx.DestinationManager" name="jboss.mq:service=DestinationManager">
               <depends optional-attribute-name="MessageCache">jboss.mq:service=MessageCache</depends>
               <depends optional-attribute-name="PersistenceManager">jboss.mq:service=PersistenceManager</depends>
               <depends optional-attribute-name="StateManager">jboss.mq:service=StateManager</depends>
               </mbean>
              
               <!--
               | The MessageCache decides where to put JBossMQ message that
               | are sitting around waiting to be consumed by a client.
               |
               | The memory marks are in Megabytes. Once the JVM memory usage hits
               | the high memory mark, the old messages in the cache will start getting
               | stored in the DataDirectory. As memory usage gets closer to the
               | Max memory mark, the amount of message kept in the memory cache aproaches 0.
               -->
               <mbean code="org.jboss.mq.server.MessageCache"
               name="jboss.mq:service=MessageCache">
               <attribute name="HighMemoryMark">50</attribute>
               <attribute name="MaxMemoryMark">60</attribute>
               <attribute name="CacheStore">jboss.mq:service=PersistenceManager</attribute>
               </mbean>
              
               <!-- The PersistenceManager is used to store messages to disk. -->
               <!--
               | The jdbc2 PersistenceManager is the new improved JDBC implementation.
               | This implementation allows you to control how messages are stored in
               | the database.
               |
               | This jdbc2 PM configuration has was supplied by Stephane Nicoll in the forums as an example for MySQL
               -->
               <mbean code="org.jboss.mq.pm.jdbc2.PersistenceManager"
               name="jboss.mq:service=PersistenceManager">
               <depends optional-attribute-name="ConnectionManager">jboss.jca:service=DataSourceBinding,name=DefaultDS</depends>
               <attribute name="SqlProperties">
               BLOB_TYPE=BYTES_BLOB
               INSERT_TX = INSERT INTO JMS_TRANSACTIONS (TXID) values(?)
               INSERT_MESSAGE = INSERT INTO JMS_MESSAGES (MESSAGEID, DESTINATION, MESSAGEBLOB, TXID, TXOP) VALUES(?,?,?,?,?)
               SELECT_ALL_UNCOMMITED_TXS = SELECT TXID FROM JMS_TRANSACTIONS
               SELECT_MAX_TX = SELECT MAX(TXID) FROM JMS_MESSAGES
               DELETE_ALL_TX = DELETE FROM JMS_TRANSACTIONS
               SELECT_MESSAGES_IN_DEST = SELECT MESSAGEID, MESSAGEBLOB FROM JMS_MESSAGES WHERE DESTINATION=?
               SELECT_MESSAGE_KEYS_IN_DEST = SELECT MESSAGEID FROM JMS_MESSAGES WHERE DESTINATION=?
               SELECT_MESSAGE = SELECT MESSAGEID, MESSAGEBLOB FROM JMS_MESSAGES WHERE MESSAGEID=? AND DESTINATION=?
               MARK_MESSAGE = UPDATE JMS_MESSAGES SET TXID=?, TXOP=? WHERE MESSAGEID=? AND DESTINATION=?
               UPDATE_MESSAGE = UPDATE JMS_MESSAGES SET MESSAGEBLOB=? WHERE MESSAGEID=? AND DESTINATION=?
               UPDATE_MARKED_MESSAGES = UPDATE JMS_MESSAGES SET TXID=?, TXOP=? WHERE TXOP=?
               UPDATE_MARKED_MESSAGES_WITH_TX = UPDATE JMS_MESSAGES SET TXID=?, TXOP=? WHERE TXOP=? AND TXID=?
               DELETE_MARKED_MESSAGES_WITH_TX = DELETE JMS_MESSAGES FROM JMS_MESSAGES, JMS_TRANSACTIONS WHERE JMS_MESSAGES.TXID = JMS_TRANSACTIONS.TXID AND JMS_MESSAGES.TXOP=?
               DELETE_TX = DELETE FROM JMS_TRANSACTIONS WHERE TXID = ?
               DELETE_MARKED_MESSAGES = DELETE FROM JMS_MESSAGES WHERE TXID=? AND TXOP=?
               DELETE_TEMPORARY_MESSAGES = DELETE FROM JMS_MESSAGES WHERE TXOP='T'
               DELETE_MESSAGE = DELETE FROM JMS_MESSAGES WHERE MESSAGEID=? AND DESTINATION=?
               CREATE_MESSAGE_TABLE = CREATE TABLE JMS_MESSAGES (MESSAGEID INTEGER NOT NULL, DESTINATION TEXT NOT NULL, TXID INTEGER, TXOP CHAR(1), MESSAGEBLOB LONGBLOB, PRIMARY KEY (MESSAGEID, DESTINATION(255)))
               CREATE_IDX_MESSAGE_TXOP_TXID = CREATE INDEX JMS_MESSAGES_TXOP_TXID ON JMS_MESSAGES (TXOP, TXID)
               CREATE_IDX_MESSAGE_DESTINATION = CREATE INDEX JMS_MESSAGES_DESTINATION ON JMS_MESSAGES (DESTINATION)
               CREATE_TX_TABLE = CREATE TABLE JMS_TRANSACTIONS ( TXID INTEGER, PRIMARY KEY (TXID) )
               CREATE_TABLES_ON_STARTUP = TRUE
               </attribute>
               <!-- Uncomment to override the transaction timeout for recovery per queue/subscription, in seconds -->
               <!--attribute name="RecoveryTimeout">0</attribute-->
               <!-- The number of blobs to load at once during message recovery -->
               <attribute name="RecoverMessagesChunk">1</attribute>
               </mbean>
              
              </server>
              


              server/default/conf/standardjaws.xml
              <jaws>
               <datasource>java:/DefaultDS</datasource>
               <type-mapping>mySQL</type-mapping>
               <debug>false</debug>
              
               <default-entity>
               <create-table>true</create-table>
               <remove-table>false</remove-table>
               <tuned-updates>true</tuned-updates>
               <read-only>false</read-only>
               <time-out>300</time-out>
               <row-locking>false</row-locking>
               <read-ahead>false</read-ahead>
               </default-entity>
              
               <type-mappings>
               <type-mapping-definition>
               <name>InterBase</name>
               <mapping>
               <java-type>java.lang.Boolean</java-type>
               <jdbc-type>BIT</jdbc-type>
               <sql-type>SMALLINT</sql-type>
               </mapping>
               <mapping>
               <java-type>java.lang.Byte</java-type>
               <jdbc-type>TINYINT</jdbc-type>
               <sql-type>SMALLINT</sql-type>
               </mapping>
               <mapping>
               <java-type>java.lang.Short</java-type>
               <jdbc-type>SMALLINT</jdbc-type>
               <sql-type>SMALLINT</sql-type>
               </mapping>
               <mapping>
               <java-type>java.lang.Integer</java-type>
               <jdbc-type>INTEGER</jdbc-type>
               <sql-type>INTEGER</sql-type>
               </mapping>
               <mapping>
               <java-type>java.lang.Long</java-type>
               <jdbc-type>BIGINT</jdbc-type>
               <sql-type>NUMERIC(18,0)</sql-type>
               </mapping>
               <mapping>
               <java-type>java.lang.Float</java-type>
               <jdbc-type>REAL</jdbc-type>
               <sql-type>FLOAT</sql-type>
               </mapping>
               <mapping>
               <java-type>java.lang.Double</java-type>
               <jdbc-type>DOUBLE</jdbc-type>
               <sql-type>DOUBLE PRECISION</sql-type>
               </mapping>
               <mapping>
               <java-type>java.lang.Character</java-type>
               <jdbc-type>CHAR</jdbc-type>
               <sql-type>CHAR</sql-type>
               </mapping>
               <mapping>
               <java-type>java.lang.String</java-type>
               <jdbc-type>VARCHAR</jdbc-type>
               <sql-type>VARCHAR(64)</sql-type>
               </mapping>
               <mapping>
               <java-type>java.sql.Date</java-type>
               <jdbc-type>DATE</jdbc-type>
               <sql-type>DATE</sql-type>
               </mapping>
               <mapping>
               <java-type>java.sql.Time</java-type>
               <jdbc-type>TIME</jdbc-type>
               <sql-type>TIME</sql-type>
               </mapping>
               <mapping>
               <java-type>java.sql.Timestamp</java-type>
               <jdbc-type>TIMESTAMP</jdbc-type>
               <sql-type>TIMESTAMP</sql-type>
               </mapping>
               <mapping>
               <java-type>java.lang.Object</java-type>
               <jdbc-type>JAVA_OBJECT</jdbc-type>
               <sql-type>VARCHAR(2000)</sql-type>
               </mapping>
               </type-mapping-definition>
              
               <type-mapping-definition>
               <name>DB2</name>
               <mapping>
               <java-type>java.lang.Boolean</java-type>
               <jdbc-type>BIT</jdbc-type>
               <sql-type>SMALLINT</sql-type>
               </mapping>
               <!-- DB2 does not appear to support columns of type "byte"
               Regrettably, this means they'll be serialized.
               <mapping>
               <java-type>java.lang.Byte</java-type>
               <jdbc-type>CHAR</jdbc-type>
               <sql-type>CHAR(1) FOR BIT DATA</sql-type>
               </mapping>
               -->
               <mapping>
               <java-type>java.lang.Short</java-type>
               <jdbc-type>SMALLINT</jdbc-type>
               <sql-type>SMALLINT</sql-type>
               </mapping>
               <mapping>
               <java-type>java.lang.Integer</java-type>
               <jdbc-type>INTEGER</jdbc-type>
               <sql-type>INTEGER</sql-type>
               </mapping>
               <mapping>
               <java-type>java.lang.Long</java-type>
               <jdbc-type>BIGINT</jdbc-type>
               <sql-type>BIGINT</sql-type>
               </mapping>
               <mapping>
               <java-type>java.lang.Float</java-type>
               <jdbc-type>REAL</jdbc-type>
               <sql-type>REAL</sql-type>
               </mapping>
               <mapping>
               <java-type>java.lang.Double</java-type>
               <jdbc-type>DOUBLE</jdbc-type>
               <sql-type>DOUBLE</sql-type>
               </mapping>
               <mapping>
               <java-type>java.lang.Character</java-type>
               <jdbc-type>CHAR</jdbc-type>
               <sql-type>CHAR</sql-type>
               </mapping>
               <mapping>
               <java-type>java.lang.String</java-type>
               <jdbc-type>VARCHAR</jdbc-type>
               <sql-type>VARCHAR(254)</sql-type>
               </mapping>
               <mapping>
               <java-type>java.sql.Date</java-type>
               <jdbc-type>DATE</jdbc-type>
               <sql-type>DATE</sql-type>
               </mapping>
               <mapping>
               <java-type>java.sql.Time</java-type>
               <jdbc-type>TIME</jdbc-type>
               <sql-type>TIME</sql-type>
               </mapping>
               <mapping>
               <java-type>java.sql.Timestamp</java-type>
               <jdbc-type>TIMESTAMP</jdbc-type>
               <sql-type>TIMESTAMP</sql-type>
               </mapping>
               <mapping>
               <java-type>java.lang.Object</java-type>
               <jdbc-type>JAVA_OBJECT</jdbc-type>
               <sql-type>BLOB(2000)</sql-type>
               </mapping>
               </type-mapping-definition>
              
               <type-mapping-definition>
               <name>Oracle8</name>
               <mapping>
               <java-type>java.lang.Boolean</java-type>
               <jdbc-type>BIT</jdbc-type>
               <sql-type>NUMBER(1)</sql-type>
               </mapping>
               <mapping>
               <java-type>java.lang.Byte</java-type>
               <jdbc-type>NUMERIC</jdbc-type>
               <sql-type>NUMBER(3)</sql-type>
               </mapping>
               <mapping>
               <java-type>java.lang.Short</java-type>
               <jdbc-type>NUMERIC</jdbc-type>
               <sql-type>NUMBER(5)</sql-type>
               </mapping>
               <mapping>
               <java-type>java.lang.Integer</java-type>
               <jdbc-type>INTEGER</jdbc-type>
               <sql-type>NUMBER(10)</sql-type>
               </mapping>
               <mapping>
               <java-type>java.lang.Long</java-type>
               <jdbc-type>BIGINT</jdbc-type>
               <sql-type>NUMBER(19)</sql-type>
               </mapping>
               <mapping>
               <java-type>java.lang.Float</java-type>
               <jdbc-type>REAL</jdbc-type>
               <sql-type>NUMBER(38,7)</sql-type>
               </mapping>
               <mapping>
               <java-type>java.math.BigDecimal</java-type>
               <jdbc-type>DECIMAL</jdbc-type>
               <sql-type>NUMBER(38,15)</sql-type>
               </mapping>
               <mapping>
               <java-type>java.lang.Double</java-type>
               <jdbc-type>DOUBLE</jdbc-type>
               <sql-type>NUMBER(38,15)</sql-type>
               </mapping>
               <mapping>
               <java-type>java.lang.Character</java-type>
               <jdbc-type>CHAR</jdbc-type>
               <sql-type>CHAR</sql-type>
               </mapping>
               <mapping>
               <java-type>java.lang.String</java-type>
               <jdbc-type>VARCHAR</jdbc-type>
               <sql-type>VARCHAR2(255)</sql-type>
               </mapping>
               <mapping>
               <java-type>java.sql.Date</java-type>
               <jdbc-type>DATE</jdbc-type>
               <sql-type>DATE</sql-type>
               </mapping>
               <mapping>
               <java-type>java.sql.Time</java-type>
               <jdbc-type>TIME</jdbc-type>
               <sql-type>DATE</sql-type>
               </mapping>
               <mapping>
               <java-type>java.sql.Timestamp</java-type>
               <jdbc-type>TIMESTAMP</jdbc-type>
               <sql-type>DATE</sql-type>
               </mapping>
               <mapping>
               <java-type>java.lang.Object</java-type>
               <jdbc-type>BLOB</jdbc-type>
               <sql-type>BLOB</sql-type>
               <!-- Change this from BLOB to RAW(255) if you know your
               serialized object will be <= 255 bytes -->
               </mapping>
               </type-mapping-definition>
              
               <type-mapping-definition>
               <name>Oracle7</name>
               <mapping>
               <java-type>java.lang.Boolean</java-type>
               <jdbc-type>BIT</jdbc-type>
               <sql-type>NUMBER(1)</sql-type>
               </mapping>
               <mapping>
               <java-type>java.lang.Byte</java-type>
               <jdbc-type>NUMERIC</jdbc-type>
               <sql-type>NUMBER(3)</sql-type>
               </mapping>
               <mapping>
               <java-type>java.lang.Short</java-type>
               <jdbc-type>NUMERIC</jdbc-type>
               <sql-type>NUMBER(5)</sql-type>
               </mapping>
               <mapping>
               <java-type>java.lang.Integer</java-type>
               <jdbc-type>INTEGER</jdbc-type>
               <sql-type>NUMBER(10)</sql-type>
               </mapping>
               <mapping>
               <java-type>java.lang.Long</java-type>
               <jdbc-type>BIGINT</jdbc-type>
               <sql-type>NUMBER(19)</sql-type>
               </mapping>
               <mapping>
               <java-type>java.lang.Float</java-type>
               <jdbc-type>REAL</jdbc-type>
               <sql-type>NUMBER(38,7)</sql-type>
               </mapping>
               <mapping>
               <java-type>java.lang.Double</java-type>
               <jdbc-type>DOUBLE</jdbc-type>
               <sql-type>NUMBER(38,15)</sql-type>
               </mapping>
               <mapping>
               <java-type>java.lang.Character</java-type>
               <jdbc-type>CHAR</jdbc-type>
               <sql-type>CHAR</sql-type>
               </mapping>
               <mapping>
               <java-type>java.lang.String</java-type>
               <jdbc-type>VARCHAR</jdbc-type>
               <sql-type>VARCHAR2(255)</sql-type>
               </mapping>
               <mapping>
               <java-type>java.sql.Date</java-type>
               <jdbc-type>DATE</jdbc-type>
               <sql-type>DATE</sql-type>
               </mapping>
               <mapping>
               <java-type>java.sql.Time</java-type>
               <jdbc-type>TIME</jdbc-type>
               <sql-type>DATE</sql-type>
               </mapping>
               <mapping>
               <java-type>java.sql.Timestamp</java-type>
               <jdbc-type>TIMESTAMP</jdbc-type>
               <sql-type>DATE</sql-type>
               </mapping>
               <mapping>
               <java-type>java.lang.Object</java-type>
               <jdbc-type>JAVA_OBJECT</jdbc-type>
               <sql-type>LONG RAW</sql-type>
               <!-- Change this from LONG RAW to RAW(255) if you know your
               serialized object will be <= 255 bytes -->
               </mapping>
               </type-mapping-definition>
              
               <type-mapping-definition>
               <name>Sybase</name>
               <mapping>
               <java-type>java.lang.Boolean</java-type>
               <jdbc-type>BIT</jdbc-type>
               <sql-type>BIT</sql-type>
               </mapping>
               <!-- Current Sybase JDBC drivers (jConnect 5.2) don't support
               byte or short. Unfortunately they'll be serialized.
               <mapping>
               <java-type>java.lang.Byte</java-type>
               <jdbc-type>TINYINT</jdbc-type>
               <sql-type>TINYINT</sql-type>
               </mapping>
               <mapping>
               <java-type>java.lang.Short</java-type>
               <jdbc-type>SMALLINT</jdbc-type>
               <sql-type>SMALLINT</sql-type>
               </mapping>
               -->
               <mapping>
               <java-type>java.lang.Integer</java-type>
               <jdbc-type>INTEGER</jdbc-type>
               <sql-type>INTEGER</sql-type>
               </mapping>
               <mapping>
               <java-type>java.lang.Long</java-type>
               <jdbc-type>NUMERIC</jdbc-type>
               <sql-type>NUMERIC(38,0)</sql-type>
               </mapping>
               <mapping>
               <java-type>java.lang.Float</java-type>
               <jdbc-type>REAL</jdbc-type>
               <sql-type>REAL</sql-type>
               </mapping>
               <mapping>
               <java-type>java.lang.Double</java-type>
               <jdbc-type>DOUBLE</jdbc-type>
               <sql-type>DOUBLE PRECISION</sql-type>
               </mapping>
               <mapping>
               <java-type>java.lang.Character</java-type>
               <jdbc-type>CHAR</jdbc-type>
               <sql-type>CHAR</sql-type>
               </mapping>
               <mapping>
               <java-type>java.lang.String</java-type>
               <jdbc-type>VARCHAR</jdbc-type>
               <sql-type>VARCHAR(255)</sql-type>
               </mapping>
               <mapping>
               <java-type>java.sql.Date</java-type>
               <jdbc-type>DATE</jdbc-type>
               <sql-type>DATETIME</sql-type>
               </mapping>
               <mapping>
               <java-type>java.sql.Time</java-type>
               <jdbc-type>TIME</jdbc-type>
               <sql-type>SMALLDATETIME</sql-type>
               </mapping>
               <mapping>
               <java-type>java.sql.Timestamp</java-type>
               <jdbc-type>TIMESTAMP</jdbc-type>
               <sql-type>DATETIME</sql-type>
               </mapping>
               <mapping>
               <java-type>java.lang.Object</java-type>
               <jdbc-type>JAVA_OBJECT</jdbc-type>
               <sql-type>IMAGE</sql-type>
               </mapping>
               </type-mapping-definition>
              
               <type-mapping-definition>
               <name>PostgreSQL</name>
               <mapping>
               <java-type>java.lang.Boolean</java-type>
               <jdbc-type>CHAR</jdbc-type>
               <sql-type>BOOLEAN</sql-type>
               </mapping>
               <mapping>
               <java-type>java.lang.Byte</java-type>
               <jdbc-type>TINYINT</jdbc-type>
               <sql-type>INT2</sql-type>
               </mapping>
               <mapping>
               <java-type>java.lang.Short</java-type>
               <jdbc-type>SMALLINT</jdbc-type>
               <sql-type>INT2</sql-type>
               </mapping>
               <mapping>
               <java-type>java.lang.Integer</java-type>
               <jdbc-type>INTEGER</jdbc-type>
               <sql-type>INT4</sql-type>
               </mapping>
               <mapping>
               <java-type>java.lang.Long</java-type>
               <jdbc-type>BIGINT</jdbc-type>
               <sql-type>INT8</sql-type>
               </mapping>
               <mapping>
               <java-type>java.lang.Float</java-type>
               <jdbc-type>FLOAT</jdbc-type>
               <sql-type>FLOAT(7)</sql-type>
               </mapping>
               <mapping>
               <java-type>java.lang.Double</java-type>
               <jdbc-type>DOUBLE</jdbc-type>
               <sql-type>FLOAT8</sql-type>
               </mapping>
               <mapping>
               <java-type>java.lang.Character</java-type>
               <jdbc-type>CHAR</jdbc-type>
               <sql-type>CHAR(1)</sql-type>
               </mapping>
               <mapping>
               <java-type>java.lang.String</java-type>
               <jdbc-type>VARCHAR</jdbc-type>
               <sql-type>TEXT</sql-type>
               </mapping>
               <mapping>
               <java-type>java.sql.Date</java-type>
               <jdbc-type>DATE</jdbc-type>
               <sql-type>DATE</sql-type>
               </mapping>
               <mapping>
               <java-type>java.sql.Time</java-type>
               <jdbc-type>TIME</jdbc-type>
               <sql-type>TIME</sql-type>
               </mapping>
               <mapping>
               <java-type>java.sql.Timestamp</java-type>
               <jdbc-type>TIMESTAMP</jdbc-type>
               <sql-type>TIMESTAMP</sql-type>
               </mapping>
               <mapping>
               <java-type>java.lang.Object</java-type>
               <jdbc-type>JAVA_OBJECT</jdbc-type>
               <sql-type>OID</sql-type>
               </mapping>
               </type-mapping-definition>
              
               <type-mapping-definition>
               <name>PostgreSQL 7.2</name>
               <mapping>
               <java-type>java.lang.Boolean</java-type>
               <jdbc-type>CHAR</jdbc-type>
               <sql-type>BOOLEAN</sql-type>
               </mapping>
               <mapping>
               <java-type>java.lang.Byte</java-type>
               <jdbc-type>TINYINT</jdbc-type>
               <sql-type>INT2</sql-type>
               </mapping>
               <mapping>
               <java-type>java.lang.Short</java-type>
               <jdbc-type>SMALLINT</jdbc-type>
               <sql-type>INT2</sql-type>
               </mapping>
               <mapping>
               <java-type>java.lang.Integer</java-type>
               <jdbc-type>INTEGER</jdbc-type>
               <sql-type>INT4</sql-type>
               </mapping>
               <mapping>
               <java-type>java.lang.Long</java-type>
               <jdbc-type>BIGINT</jdbc-type>
               <sql-type>INT8</sql-type>
               </mapping>
               <mapping>
               <java-type>java.lang.Float</java-type>
               <jdbc-type>FLOAT</jdbc-type>
               <sql-type>FLOAT(7)</sql-type>
               </mapping>
               <mapping>
               <java-type>java.lang.Double</java-type>
               <jdbc-type>DOUBLE</jdbc-type>
               <sql-type>FLOAT8</sql-type>
               </mapping>
               <mapping>
               <java-type>java.lang.Character</java-type>
               <jdbc-type>CHAR</jdbc-type>
               <sql-type>CHAR(1)</sql-type>
               </mapping>
               <mapping>
               <java-type>java.lang.String</java-type>
               <jdbc-type>VARCHAR</jdbc-type>
               <sql-type>TEXT</sql-type>
               </mapping>
               <mapping>
               <java-type>java.sql.Date</java-type>
               <jdbc-type>DATE</jdbc-type>
               <sql-type>DATE</sql-type>
               </mapping>
               <mapping>
               <java-type>java.sql.Time</java-type>
               <jdbc-type>TIME</jdbc-type>
               <sql-type>TIME</sql-type>
               </mapping>
               <mapping>
               <java-type>java.sql.Timestamp</java-type>
               <jdbc-type>TIMESTAMP</jdbc-type>
               <sql-type>TIMESTAMP</sql-type>
               </mapping>
               <mapping>
               <java-type>java.lang.Object</java-type>
               <jdbc-type>JAVA_OBJECT</jdbc-type>
               <sql-type>BYTEA</sql-type>
               </mapping>
               </type-mapping-definition>
              
               <type-mapping-definition>
               <name>Hypersonic SQL</name>
               <mapping>
               <java-type>java.lang.Byte</java-type>
               <jdbc-type>SMALLINT</jdbc-type>
               <sql-type>SMALLINT</sql-type>
               </mapping>
               <mapping>
               <java-type>java.util.Date</java-type>
               <jdbc-type>DATE</jdbc-type>
               <sql-type>DATE</sql-type>
               </mapping>
               <mapping>
               <java-type>java.lang.Boolean</java-type>
               <jdbc-type>BIT</jdbc-type>
               <sql-type>BIT</sql-type>
               </mapping>
               <mapping>
               <java-type>java.lang.Integer</java-type>
               <jdbc-type>INTEGER</jdbc-type>
               <sql-type>INTEGER</sql-type>
               </mapping>
               <mapping>
               <java-type>java.lang.Object</java-type>
               <jdbc-type>JAVA_OBJECT</jdbc-type>
               <sql-type>OBJECT</sql-type>
               </mapping>
               <mapping>
               <java-type>java.lang.Short</java-type>
               <jdbc-type>SMALLINT</jdbc-type>
               <sql-type>SMALLINT</sql-type>
               </mapping>
               <mapping>
               <java-type>java.lang.Character</java-type>
               <jdbc-type>CHAR</jdbc-type>
               <sql-type>CHAR</sql-type>
               </mapping>
               <mapping>
               <java-type>java.lang.String</java-type>
               <jdbc-type>VARCHAR</jdbc-type>
               <sql-type>VARCHAR(256)</sql-type>
               </mapping>
               <mapping>
               <java-type>java.sql.Timestamp</java-type>
               <jdbc-type>TIMESTAMP</jdbc-type>
               <sql-type>TIMESTAMP</sql-type>
               </mapping>
               <mapping>
               <java-type>java.lang.Float</java-type>
               <jdbc-type>REAL</jdbc-type>
               <sql-type>REAL</sql-type>
               </mapping>
               <mapping>
               <java-type>java.lang.Long</java-type>
               <jdbc-type>BIGINT</jdbc-type>
               <sql-type>BIGINT</sql-type>
               </mapping>
               <mapping>
               <java-type>java.lang.Double</java-type>
               <jdbc-type>DOUBLE</jdbc-type>
               <sql-type>DOUBLE</sql-type>
               </mapping>
               </type-mapping-definition>
              
               <type-mapping-definition>
               <name>PointBase</name>
               <mapping>
               <java-type>java.lang.Character</java-type>
               <jdbc-type>CHAR</jdbc-type>
               <sql-type>CHAR</sql-type>
               </mapping>
               <mapping>
               <java-type>java.lang.Short</java-type>
               <jdbc-type>SMALLINT</jdbc-type>
               <sql-type>SMALLINT</sql-type>
               </mapping>
               <mapping>
               <java-type>java.lang.Long</java-type>
               <jdbc-type>BIGINT</jdbc-type>
               <sql-type>INTEGER</sql-type>
               </mapping>
               <mapping>
               <java-type>java.lang.Double</java-type>
               <jdbc-type>DOUBLE</jdbc-type>
               <sql-type>FLOAT</sql-type>
               </mapping>
               <mapping>
               <java-type>java.lang.Float</java-type>
               <jdbc-type>FLOAT</jdbc-type>
               <sql-type>FLOAT</sql-type>
               </mapping>
               <mapping>
               <java-type>java.lang.Boolean</java-type>
               <jdbc-type>BINARY</jdbc-type>
               <sql-type>BOOLEAN</sql-type>
               </mapping>
               <mapping>
               <java-type>java.lang.String</java-type>
               <jdbc-type>VARCHAR</jdbc-type>
               <sql-type>VARCHAR(256)</sql-type>
               </mapping>
               <mapping>
               <java-type>java.lang.Byte</java-type>
               <jdbc-type>SMALLINT</jdbc-type>
               <sql-type>SMALLINT</sql-type>
               </mapping>
               <mapping>
               <java-type>java.lang.Object</java-type>
               <jdbc-type>BLOB</jdbc-type>
               <sql-type>BLOB</sql-type>
               </mapping>
               <mapping>
               <java-type>java.lang.Integer</java-type>
               <jdbc-type>INTEGER</jdbc-type>
               <sql-type>INTEGER</sql-type>
               </mapping>
               </type-mapping-definition>
              
               <type-mapping-definition>
               <name>SOLID</name>
               <mapping>
               <java-type>java.lang.Character</java-type>
               <jdbc-type>CHAR</jdbc-type>
               <sql-type>CHAR</sql-type>
               </mapping>
               <mapping>
               <java-type>java.lang.Byte</java-type>
               <jdbc-type>TINYINT</jdbc-type>
               <sql-type>TINYINT</sql-type>
               </mapping>
               <mapping>
               <java-type>java.lang.Short</java-type>
               <jdbc-type>INTEGER</jdbc-type>
               <sql-type>INTEGER</sql-type>
               </mapping>
               <mapping>
               <java-type>java.lang.Double</java-type>
               <jdbc-type>DOUBLE</jdbc-type>
               <sql-type>DOUBLE</sql-type>
               </mapping>
               <mapping>
               <java-type>java.lang.Object</java-type>
               <jdbc-type>BLOB</jdbc-type>
               <sql-type>BLOB</sql-type>
               </mapping>
               <mapping>
               <java-type>java.lang.String</java-type>
               <jdbc-type>VARCHAR</jdbc-type>
               <sql-type>VARCHAR(256)</sql-type>
               </mapping>
               <mapping>
               <java-type>java.lang.Integer</java-type>
               <jdbc-type>INTEGER</jdbc-type>
               <sql-type>INTEGER</sql-type>
               </mapping>
               <mapping>
               <java-type>java.sql.Timestamp</java-type>
               <jdbc-type>TIMESTAMP</jdbc-type>
               <sql-type>TIMESTAMP</sql-type>
               </mapping>
               <mapping>
               <java-type>java.lang.Boolean</java-type>
               <jdbc-type>BIT</jdbc-type>
               <sql-type>BIT</sql-type>
               </mapping>
               <mapping>
               <java-type>java.lang.Float</java-type>
               <jdbc-type>FLOAT</jdbc-type>
               <sql-type>FLOAT</sql-type>
               </mapping>
               <mapping>
               <java-type>java.lang.Long</java-type>
               <jdbc-type>BIGINT</jdbc-type>
               <sql-type>BIGINT</sql-type>
               </mapping>
               <mapping>
               <java-type>java.util.Date</java-type>
               <jdbc-type>DATE</jdbc-type>
               <sql-type>DATE</sql-type>
               </mapping>
               </type-mapping-definition>
              
               <type-mapping-definition>
               <name>mySQL</name>
               <mapping>
               <java-type>java.lang.Float</java-type>
               <jdbc-type>FLOAT</jdbc-type>
               <sql-type>FLOAT</sql-type>
               </mapping>
               <mapping>
               <java-type>java.lang.Double</java-type>
               <jdbc-type>DOUBLE</jdbc-type>
               <sql-type>DOUBLE</sql-type>
               </mapping>
               <mapping>
               <java-type>java.lang.Boolean</java-type>
               <jdbc-type>TINYINT</jdbc-type>
               <sql-type>TINYINT</sql-type>
               </mapping>
               <mapping>
               <java-type>java.lang.Object</java-type>
               <jdbc-type>JAVA_OBJECT</jdbc-type>
               <sql-type>BLOB</sql-type>
               </mapping>
               <mapping>
               <java-type>java.lang.Integer</java-type>
               <jdbc-type>INTEGER</jdbc-type>
               <sql-type>INTEGER</sql-type>
               </mapping>
               <mapping>
               <java-type>java.lang.Short</java-type>
               <jdbc-type>SMALLINT</jdbc-type>
               <sql-type>SMALLINT</sql-type>
               </mapping>
               <mapping>
               <java-type>java.sql.Timestamp</java-type>
               <jdbc-type>TIMESTAMP</jdbc-type>
               <sql-type>TIMESTAMP</sql-type>
               </mapping>
               <mapping>
               <java-type>java.lang.Byte</java-type>
               <jdbc-type>TINYINT</jdbc-type>
               <sql-type>TINYINT</sql-type>
               </mapping>
               <mapping>
               <java-type>java.lang.Character</java-type>
               <jdbc-type>CHAR</jdbc-type>
               <sql-type>CHAR</sql-type>
               </mapping>
               <mapping>
               <java-type>java.lang.Long</java-type>
               <jdbc-type>BIGINT</jdbc-type>
               <sql-type>BIGINT</sql-type>
               </mapping>
               <mapping>
               <java-type>java.lang.String</java-type>
               <jdbc-type>VARCHAR</jdbc-type>
               <sql-type>VARCHAR(255) BINARY</sql-type>
               </mapping>
               <mapping>
               <java-type>java.util.Date</java-type>
               <jdbc-type>DATE</jdbc-type>
               <sql-type>DATETIME</sql-type>
               </mapping>
               <mapping>
               <java-type>java.sql.Date</java-type>
               <jdbc-type>DATE</jdbc-type>
               <sql-type>DATETIME</sql-type>
               </mapping>
               <mapping>
               <java-type>java.sql.Time</java-type>
               <jdbc-type>TIME</jdbc-type>
               <sql-type>BIGINT</sql-type>
               </mapping>
               </type-mapping-definition>
              
               <type-mapping-definition>
               <name>MS SQLSERVER</name>
               <mapping>
               <java-type>java.lang.Integer</java-type>
               <jdbc-type>INTEGER</jdbc-type>
               <sql-type>INTEGER</sql-type>
               </mapping>
               <mapping>
               <java-type>java.lang.Character</java-type>
               <jdbc-type>CHAR</jdbc-type>
               <sql-type>CHAR</sql-type>
               </mapping>
               <mapping>
               <java-type>java.lang.Short</java-type>
               <jdbc-type>SMALLINT</jdbc-type>
               <sql-type>SMALLINT</sql-type>
               </mapping>
               <mapping>
               <java-type>java.lang.Double</java-type>
               <jdbc-type>DOUBLE</jdbc-type>
               <sql-type>DOUBLE</sql-type>
               </mapping>
               <mapping>
               <java-type>java.lang.Long</java-type>
               <jdbc-type>DECIMAL</jdbc-type>
               <sql-type>DECIMAL(20)</sql-type>
               </mapping>
               <mapping>
               <java-type>java.math.BigDecimal</java-type>
               <jdbc-type>VARCHAR</jdbc-type>
               <sql-type>VARCHAR(256)</sql-type>
               </mapping>
               <mapping>
               <java-type>java.lang.String</java-type>
               <jdbc-type>VARCHAR</jdbc-type>
               <sql-type>VARCHAR(256)</sql-type>
               </mapping>
               <mapping>
               <java-type>java.lang.Object</java-type>
               <jdbc-type>JAVA_OBJECT</jdbc-type>
               <sql-type>IMAGE</sql-type>
               </mapping>
               <mapping>
               <java-type>java.lang.Byte</java-type>
               <jdbc-type>TINYINT</jdbc-type>
               <sql-type>TINYINT</sql-type>
               </mapping>
               <mapping>
               <java-type>java.sql.Timestamp</java-type>
               <jdbc-type>TIMESTAMP</jdbc-type>
               <sql-type>TIMESTAMP</sql-type>
               </mapping>
               <mapping>
               <java-type>java.sql.Date</java-type>
               <jdbc-type>DATE</jdbc-type>
               <sql-type>DATETIME</sql-type>
               </mapping>
               <mapping>
               <java-type>java.sql.Time</java-type>
               <jdbc-type>TIME</jdbc-type>
               <sql-type>DATETIME</sql-type>
               </mapping>
               <mapping>
               <java-type>java.util.Date</java-type>
               <jdbc-type>DATE</jdbc-type>
               <sql-type>DATETIME</sql-type>
               </mapping>
               <mapping>
               <java-type>java.lang.Boolean</java-type>
               <jdbc-type>BIT</jdbc-type>
               <sql-type>BIT</sql-type>
               </mapping>
               <mapping>
               <java-type>java.lang.Float</java-type>
               <jdbc-type>FLOAT</jdbc-type>
               <sql-type>FLOAT</sql-type>
               </mapping>
               </type-mapping-definition>
              
               <type-mapping-definition>
               <name>MS SQLSERVER2000</name>
              
               <mapping>
               <java-type>java.lang.Integer</java-type>
               <jdbc-type>INTEGER</jdbc-type>
               <sql-type>INTEGER</sql-type>
               </mapping>
              
               <mapping>
               <java-type>java.lang.Character</java-type>
               <jdbc-type>CHAR</jdbc-type>
               <sql-type>CHAR</sql-type>
               </mapping>
              
               <mapping>
               <java-type>java.lang.Short</java-type>
               <jdbc-type>SMALLINT</jdbc-type>
               <sql-type>SMALLINT</sql-type>
               </mapping>
              
               <mapping>
               <java-type>java.lang.Long</java-type>
               <jdbc-type>BIGINT</jdbc-type>
               <sql-type>BIGINT</sql-type>
               </mapping>
              
               <mapping>
               <java-type>java.math.BigDecimal</java-type>
               <jdbc-type>VARCHAR</jdbc-type>
               <sql-type>VARCHAR(256)</sql-type>
               </mapping>
              
               <mapping>
               <java-type>java.lang.String</java-type>
               <jdbc-type>VARCHAR</jdbc-type>
               <sql-type>VARCHAR(256)</sql-type>
               </mapping>
              
               <mapping>
               <java-type>java.lang.Object</java-type>
               <jdbc-type>JAVA_OBJECT</jdbc-type>
               <sql-type>IMAGE</sql-type>
               </mapping>
              
               <mapping>
               <java-type>java.lang.Byte</java-type>
               <jdbc-type>TINYINT</jdbc-type>
               <sql-type>TINYINT</sql-type>
               </mapping>
              
               <mapping>
               <java-type>java.sql.Timestamp</java-type>
               <jdbc-type>TIMESTAMP</jdbc-type>
               <sql-type>TIMESTAMP</sql-type>
               </mapping>
              
               <mapping>
               <java-type>java.sql.Date</java-type>
               <jdbc-type>DATE</jdbc-type>
               <sql-type>DATETIME</sql-type>
               </mapping>
              
               <mapping>
               <java-type>java.sql.Time</java-type>
               <jdbc-type>TIME</jdbc-type>
               <sql-type>DATETIME</sql-type>
               </mapping>
              
               <mapping>
               <java-type>java.util.Date</java-type>
               <jdbc-type>DATE</jdbc-type>
               <sql-type>DATETIME</sql-type>
               </mapping>
              
               <mapping>
               <java-type>java.lang.Boolean</java-type>
               <jdbc-type>BIT</jdbc-type>
               <sql-type>BIT</sql-type>
               </mapping>
              
               <mapping>
               <java-type>java.lang.Float</java-type>
               <jdbc-type>REAL</jdbc-type>
               <sql-type>REAL</sql-type>
               </mapping>
              
               <mapping>
               <java-type>java.lang.Double</java-type>
               <jdbc-type>DOUBLE</jdbc-type>
               <sql-type>FLOAT</sql-type>
               </mapping>
               </type-mapping-definition>
              
               <type-mapping-definition>
               <name>DB2/400</name>
               <mapping>
               <java-type>java.lang.Character</java-type>
               <jdbc-type>CHAR</jdbc-type>
               <sql-type>CHAR(1)</sql-type>
               </mapping>
               <mapping>
               <java-type>java.lang.String</java-type>
               <jdbc-type>VARCHAR</jdbc-type>
               <sql-type>VARCHAR(256)</sql-type>
               </mapping>
               <!-- Apparent DB2/400 doesn't handle Byte type either
               <mapping>
               <java-type>java.lang.Byte</java-type>
               <jdbc-type>CHAR</jdbc-type>
               <sql-type>CHAR(1) FOR BIT DATA</sql-type>
               </mapping>
               -->
               <mapping>
               <java-type>java.util.Date</java-type>
               <jdbc-type>DATE</jdbc-type>
               <sql-type>DATE</sql-type>
               </mapping>
               <mapping>
               <java-type>java.sql.Time</java-type>
               <jdbc-type>TIME</jdbc-type>
               <sql-type>TIME</sql-type>
               </mapping>
               <mapping>
               <java-type>java.lang.Float</java-type>
               <jdbc-type>FLOAT</jdbc-type>
               <sql-type>FLOAT</sql-type>
               </mapping>
               <mapping>
               <java-type>java.lang.Integer</java-type>
               <jdbc-type>INTEGER</jdbc-type>
               <sql-type>INTEGER</sql-type>
               </mapping>
               <mapping>
               <java-type>java.lang.Double</java-type>
               <jdbc-type>DOUBLE</jdbc-type>
               <sql-type>DOUBLE</sql-type>
               </mapping>
               <mapping>
               <java-type>java.lang.Long</java-type>
               <jdbc-type>BIGINT</jdbc-type>
               <sql-type>INTEGER</sql-type>
               </mapping>
               <mapping>
               <java-type>java.lang.Boolean</java-type>
               <jdbc-type>CHAR</jdbc-type>
               <sql-type>CHAR(5)</sql-type>
               </mapping>
               <mapping>
               <java-type>java.lang.Short</java-type>
               <jdbc-type>SMALLINT</jdbc-type>
               <sql-type>SMALLINT</sql-type>
               </mapping>
               <mapping>
               <java-type>java.lang.Object</java-type>
               <jdbc-type>JAVA_OBJECT</jdbc-type>
               <sql-type>VARCHAR(4096) FOR BIT DATA</sql-type>
               </mapping>
               <mapping>
               <java-type>java.sql.Timestamp</java-type>
               <jdbc-type>TIMESTAMP</jdbc-type>
               <sql-type>TIMESTAMP</sql-type>
               </mapping>
               </type-mapping-definition>
              
               <type-mapping-definition>
               <name>SapDB</name>
               <mapping>
               <java-type>java.lang.Integer</java-type>
               <jdbc-type>INTEGER</jdbc-type>
               <sql-type>INTEGER</sql-type>
               </mapping>
               <mapping>
               <java-type>java.lang.Character</java-type>
               <jdbc-type>CHAR</jdbc-type>
               <sql-type>CHAR</sql-type>
               </mapping>
               <mapping>
               <java-type>java.lang.String</java-type>
               <jdbc-type>VARCHAR</jdbc-type>
               <sql-type>VARCHAR(256)</sql-type>
               </mapping>
               <mapping>
               <java-type>java.lang.Object</java-type>
               <jdbc-type>JAVA_OBJECT</jdbc-type>
               <sql-type>LONG BYTE</sql-type>
               </mapping>
               <mapping>
               <java-type>java.lang.Byte</java-type>
               <jdbc-type>TINYINT</jdbc-type>
               <sql-type>CHAR BYTE</sql-type>
               </mapping>
               <mapping>
               <java-type>java.sql.Timestamp</java-type>
               <jdbc-type>TIMESTAMP</jdbc-type>
               <sql-type>TIMESTAMP</sql-type>
               </mapping>
               <mapping>
               <java-type>java.util.Date</java-type>
               <jdbc-type>DATE</jdbc-type>
               <sql-type>DATE</sql-type>
               </mapping>
               <mapping>
               <java-type>java.sql.Time</java-type>
               <jdbc-type>TIME</jdbc-type>
               <sql-type>TIME</sql-type>
               </mapping>
               <mapping>
               <java-type>java.lang.Boolean</java-type>
               <jdbc-type>BIT</jdbc-type>
               <sql-type>BOOLEAN</sql-type>
               </mapping>
               <mapping>
               <java-type>java.lang.Float</java-type>
               <jdbc-type>FLOAT</jdbc-type>
               <sql-type>FLOAT</sql-type>
               </mapping>
               <mapping>
               <java-type>java.lang.Short</java-type>
               <jdbc-type>SMALLINT</jdbc-type>
               <sql-type>SMALLINT</sql-type>
               </mapping>
               <mapping>
               <java-type>java.lang.Double</java-type>
               <jdbc-type>DOUBLE</jdbc-type>
               <sql-type>DOUBLE PRECISION</sql-type>
               </mapping>
               <mapping>
               <java-type>java.lang.Long</java-type>
               <jdbc-type>DECIMAL</jdbc-type>
               <sql-type>DECIMAL(20)</sql-type>
               </mapping>
               </type-mapping-definition>
              
               <type-mapping-definition>
               <name>Cloudscape</name>
               <mapping>
               <java-type>java.math.BigDecimal</java-type>
               <jdbc-type>LONGVARCHAR</jdbc-type>
               <sql-type>LONG VARCHAR</sql-type>
               </mapping>
               <mapping>
               <java-type>java.lang.Boolean</java-type>
               <jdbc-type>BIT</jdbc-type>
               <sql-type>BOOLEAN</sql-type>
               </mapping>
               <mapping>
               <java-type>java.lang.Byte</java-type>
               <jdbc-type>TINYINT</jdbc-type>
               <sql-type>TINYINT</sql-type>
               </mapping>
               <mapping>
               <java-type>java.lang.Short</java-type>
               <jdbc-type>SMALLINT</jdbc-type>
               <sql-type>SMALLINT</sql-type>
               </mapping>
               <mapping>
               <java-type>java.lang.Integer</java-type>
               <jdbc-type>INTEGER</jdbc-type>
               <sql-type>INTEGER</sql-type>
               </mapping>
               <mapping>
               <java-type>java.lang.Long</java-type>
               <jdbc-type>BIGINT</jdbc-type>
               <sql-type>LONGINT</sql-type>
               </mapping>
               <mapping>
               <java-type>java.lang.Float</java-type>
               <jdbc-type>REAL</jdbc-type>
               <sql-type>REAL</sql-type>
               </mapping>
               <mapping>
               <java-type>java.lang.Double</java-type>
               <jdbc-type>DOUBLE</jdbc-type>
               <sql-type>DOUBLE PRECISION</sql-type>
               </mapping>
               <mapping>
               <java-type>java.lang.Character</java-type>
               <jdbc-type>CHAR</jdbc-type>
               <sql-type>CHAR</sql-type>
               </mapping>
               <mapping>
               <java-type>java.lang.String</java-type>
               <jdbc-type>LONGVARCHAR</jdbc-type>
               <sql-type>LONG VARCHAR</sql-type>
               </mapping>
               <mapping>
               <java-type>java.sql.Date</java-type>
               <jdbc-type>DATE</jdbc-type>
               <sql-type>DATE</sql-type>
               </mapping>
               <mapping>
               <java-type>java.sql.Time</java-type>
               <jdbc-type>TIME</jdbc-type>
               <sql-type>TIME</sql-type>
               </mapping>
               <mapping>
               <java-type>java.sql.Timestamp</java-type>
               <jdbc-type>TIMESTAMP</jdbc-type>
               <sql-type>TIMESTAMP</sql-type>
               </mapping>
               <mapping>
               <java-type>java.lang.Object</java-type>
               <jdbc-type>JAVA_OBJECT</jdbc-type>
               <sql-type>LONG VARBINARY</sql-type>
               </mapping>
               </type-mapping-definition>
              
              
               <type-mapping-definition>
               <name>InformixDB</name>
               <mapping>
               <java-type>java.lang.Character</java-type>
               <jdbc-type>CHAR</jdbc-type>
               <sql-type>CHAR(1)</sql-type>
               </mapping>
              
               <mapping>
               <java-type>java.lang.String</java-type>
               <jdbc-type>VARCHAR</jdbc-type>
               <sql-type>VARCHAR(255,0)</sql-type>
               </mapping>
              
               <mapping>
               <java-type>java.math.BigDecimal</java-type>
               <jdbc-type>NUMERIC</jdbc-type>
               <sql-type>DECIMAL</sql-type>
               </mapping>
              
               <mapping>
               <java-type>java.lang.Boolean</java-type>
               <jdbc-type>BIT</jdbc-type>
               <sql-type>SMALLINT</sql-type>
               </mapping>
              
               <mapping>
               <java-type>java.lang.Integer</java-type>
               <jdbc-type>INTEGER</jdbc-type>
               <sql-type>INTEGER</sql-type>
               </mapping>
              
               <mapping>
               <java-type>java.lang.Long</java-type>
               <jdbc-type>BIGINT</jdbc-type>
               <sql-type>NUMERIC(18,0)</sql-type>
               </mapping>
              
               <mapping>
               <java-type>java.lang.Float</java-type>
               <jdbc-type>REAL</jdbc-type>
               <sql-type>FLOAT</sql-type>
               </mapping>
              
               <mapping>
               <java-type>java.lang.Double</java-type>
               <jdbc-type>DOUBLE</jdbc-type>
               <sql-type>DOUBLE PRECISION</sql-type>
               </mapping>
              
               <mapping>
               <java-type>java.lang.Byte</java-type>
               <jdbc-type>TINYINT</jdbc-type>
               <sql-type>SMALLINT</sql-type>
               </mapping>
              
               <mapping>
               <java-type>java.lang.Short</java-type>
               <jdbc-type>SMALLINT</jdbc-type>
               <sql-type>SMALLINT</sql-type>
               </mapping>
              
               <mapping>
               <java-type>java.util.Date</java-type>
               <jdbc-type>DATE</jdbc-type>
               <sql-type>DATE</sql-type>
               </mapping>
              
               <mapping>
               <java-type>java.sql.Date</java-type>
               <jdbc-type>DATE</jdbc-type>
               <sql-type>DATE</sql-type>
               </mapping>
              
               <mapping>
               <java-type>java.sql.Time</java-type>
               <jdbc-type>TIME</jdbc-type>
               <sql-type>TIME</sql-type>
               </mapping>
              
               <mapping>
               <java-type>java.sql.Timestamp</java-type>
               <jdbc-type>TIMESTAMP</jdbc-type>
               <sql-type>DATETIME YEAR TO FRACTION(3)</sql-type>
               </mapping>
              
               <mapping>
               <java-type>java.lang.Object</java-type>
               <jdbc-type>JAVA_OBJECT</jdbc-type>
               <sql-type>BYTE</sql-type>
               </mapping>
               </type-mapping-definition>
              
               </type-mappings>
              </jaws>
              


              server/default/conf/standardjbosscmp-jdbc.xml
              <jbosscmp-jdbc>
              
               <defaults>
               <datasource>java:/DefaultDS</datasource>
               <datasource-mapping>mySQL</datasource-mapping>
              
               <create-table>true</create-table>
               <remove-table>false</remove-table>
               <read-only>false</read-only>
               <read-time-out>300000</read-time-out>
               <row-locking>false</row-locking>
               <pk-constraint>true</pk-constraint>
               <fk-constraint>true</fk-constraint>
               <preferred-relation-mapping>foreign-key</preferred-relation-mapping>
               <read-ahead>
               <strategy>on-load</strategy>
               <page-size>1000</page-size>
               <eager-load-group>*</eager-load-group>
               </read-ahead>
               <list-cache-max>1000</list-cache-max>
               <clean-read-ahead-on-load>false</clean-read-ahead-on-load>
              
               <unknown-pk>
               <key-generator-factory>UUIDKeyGeneratorFactory</key-generator-factory>
               <unknown-pk-class>java.lang.String</unknown-pk-class>
               <jdbc-type>VARCHAR</jdbc-type>
               <sql-type>VARCHAR(32)</sql-type>
               </unknown-pk>
              
               <entity-command name="default"/>
               <ql-compiler>org.jboss.ejb.plugins.cmp.jdbc.JDBCEJBQLCompiler</ql-compiler>
               <throw-runtime-exceptions>false</throw-runtime-exceptions>
               </defaults>
              
               <type-mappings>
               <type-mapping>
               <name>FirstSQL/J</name>
               <row-locking-template/>
               <pk-constraint-template>PRIMARY KEY (?2)</pk-constraint-template>
               <fk-constraint-template>FOREIGN KEY (?3) REFERENCES ?4 (?5)</fk-constraint-template>
               <alias-header-prefix>t</alias-header-prefix>
               <alias-header-suffix>_</alias-header-suffix>
               <alias-max-length>32</alias-max-length>
               <subquery-supported>true</subquery-supported>
               <true-mapping>1</true-mapping>
               <false-mapping>0</false-mapping>
              
               <function-mapping>
               <function-name>concat</function-name>
               <function-sql>(?1 || ?2)</function-sql>
               </function-mapping>
               <function-mapping>
               <function-name>substring</function-name>
               <function-sql>substring(?1 FROM ?2 FOR ?3)</function-sql>
               </function-mapping>
               <function-mapping>
               <function-name>lcase</function-name>
               <function-sql>lower(?1)</function-sql>
               </function-mapping>
               <function-mapping>
               <function-name>length</function-name>
               <function-sql>char_length(?1)</function-sql>
               </function-mapping>
               <function-mapping>
               <function-name>locate</function-name>
               <function-sql>position(?1 IN ?2)</function-sql>
               </function-mapping>
               <function-mapping>
               <function-name>abs</function-name>
               <function-sql>math.abs(?1)</function-sql>
               </function-mapping>
               <function-mapping>
               <function-name>sqrt</function-name>
               <function-sql>math.sqrt(CAST(?1 AS DOUBLE))</function-sql>
               </function-mapping>
               <function-mapping>
               <function-name>ucase</function-name>
               <function-sql>upper(?1)</function-sql>
               </function-mapping>
               <function-mapping>
               <function-name>count</function-name>
               <function-sql>count(?1)</function-sql>
               </function-mapping>
              
               <mapping>
               <java-type>java.lang.Boolean</java-type>
               <jdbc-type>TINYINT</jdbc-type>
               <sql-type>TINYINT</sql-type>
               </mapping>
               <mapping>
               <java-type>java.lang.Byte</java-type>
               <jdbc-type>TINYINT</jdbc-type>
               <sql-type>TINYINT</sql-type>
               </mapping>
               <mapping>
               <java-type>java.lang.Short</java-type>
               <jdbc-type>SMALLINT</jdbc-type>
               <sql-type>SMALLINT</sql-type>
               </mapping>
               <mapping>
               <java-type>java.lang.Integer</java-type>
               <jdbc-type>INTEGER</jdbc-type>
               <sql-type>INTEGER</sql-type>
               </mapping>
               <mapping>
               <java-type>java.lang.Long</java-type>
               <jdbc-type>BIGINT</jdbc-type>
               <sql-type>BIGINT</sql-type>
               </mapping>
               <mapping>
               <java-type>java.lang.Float</java-type>
               <jdbc-type>REAL</jdbc-type>
               <sql-type>REAL</sql-type>
               </mapping>
               <mapping>
               <java-type>java.lang.Double</java-type>
               <jdbc-type>DOUBLE</jdbc-type>
               <sql-type>DOUBLE</sql-type>
               </mapping>
               <mapping>
               <java-type>java.lang.Character</java-type>
               <jdbc-type>CHAR</jdbc-type>
               <sql-type>CHAR</sql-type>
               </mapping>
               <mapping>
               <java-type>java.lang.String</java-type>
               <jdbc-type>VARCHAR</jdbc-type>
               <!-- or <sql-type>VARCHAR(2147483500)</sql-type> -->
               <sql-type>VARCHAR(256)</sql-type>
               </mapping>
               <mapping>
               <java-type>java.sql.Date</java-type>
               <jdbc-type>DATE</jdbc-type>
               <sql-type>DATE</sql-type>
               </mapping>
               <mapping>
               <java-type>java.sql.Time</java-type>
               <jdbc-type>TIME</jdbc-type>
               <sql-type>TIME</sql-type>
               </mapping>
               <mapping>
               <java-type>java.sql.Timestamp</java-type>
               <jdbc-type>TIMESTAMP</jdbc-type>
               <sql-type>TIMESTAMP</sql-type>
               </mapping>
               <mapping>
               <java-type>java.util.Date</java-type>
               <jdbc-type>TIMESTAMP</jdbc-type>
               <sql-type>TIMESTAMP</sql-type>
               </mapping>
               <mapping>
               <java-type>java.math.BigDecimal</java-type>
               <jdbc-type>DECIMAL</jdbc-type>
               <sql-type>DECIMAL</sql-type>
               </mapping>
               <mapping>
               <java-type>java.lang.Object</java-type>
               <!-- FirstSQL/J only supports directly serializable objects for classes declared with CREATE CLASS -->
               <jdbc-type>LONGVARBINARY</jdbc-type>
               <sql-type>VARCHAR(2147483500)</sql-type>
               </mapping>
               </type-mapping>
              
               <type-mapping>
               <name>Ingres</name>
               <row-locking-template>SELECT ?1 FROM ?2 WHERE ?3 ORDER BY ?4 FOR UPDATE</row-locking-template>
               <pk-constraint-template>ALTER TABLE ?1 ADD CONSTRAINT ?2 PRIMARY KEY (?3)</pk-constraint-template>
               <fk-constraint-template>ALTER TABLE ?1 ADD CONSTRAINT ?2 FOREIGN KEY (?3) REFERENCES ?4 (?5)</fk-constraint-template>
               <alias-header-prefix>t</alias-header-prefix>
               <alias-header-suffix>_</alias-header-suffix>
               <alias-max-length>32</alias-max-length>
               <subquery-supported>true</subquery-supported>
               <true-mapping>TRUE</true-mapping>
               <false-mapping>FALSE</false-mapping>
              
               <function-mapping>
               <function-name>concat</function-name>
               <function-sql>concat(?1,?2)</function-sql>
               </function-mapping>
               <function-mapping>
               <function-name>substring</function-name>
               <function-sql>left(?1,?2)</function-sql>
               </function-mapping>
               <function-mapping>
               <function-name>lcase</function-name>
               <function-sql>lower(?1)</function-sql>
               </function-mapping>
               <function-mapping>
               <function-name>length</function-name>
               <function-sql>length(?1)</function-sql>
               </function-mapping>
               <function-mapping>
               <function-name>locate</function-name>
               <function-sql>locate(?1,?2)</function-sql>
               </function-mapping>
               <function-mapping>
               <function-name>abs</function-name>
               <function-sql>abs(?1)</function-sql>
               </function-mapping>
               <function-mapping>
               <function-name>sqrt</function-name>
               <function-sql>sqrt(?1)</function-sql>
               </function-mapping>
               <function-mapping>
               <function-name>ucase</function-name>
               <function-sql>upper(?1)</function-sql>
               </function-mapping>
               <function-mapping>
               <function-name>count</function-name>
               <function-sql>count(?1)</function-sql>
               </function-mapping>
              
               <!-- change from bit to integer , 10.12.2002 heb -->
               <mapping>
               <java-type>java.lang.Boolean</java-type>
               <jdbc-type>INTEGER</jdbc-type>
               <sql-type>INTEGER</sql-type>
               </mapping>
               <mapping>
               <java-type>java.lang.Byte</java-type>
               <jdbc-type>TINYINT</jdbc-type>
               <sql-type>INT1</sql-type>
               </mapping>
               <mapping>
               <java-type>java.lang.Short</java-type>
               <jdbc-type>SMALLINT</jdbc-type>
               <sql-type>SMALLINT</sql-type>
               </mapping>
               <mapping>
               <java-type>java.lang.Integer</java-type>
               <jdbc-type>INTEGER</jdbc-type>
               <sql-type>INTEGER</sql-type>
               </mapping>
               <mapping>
               <java-type>java.lang.Long</java-type>
               <jdbc-type>BIGINT</jdbc-type>
               <sql-type>INTEGER4</sql-type>
               </mapping>
               <mapping>
               <java-type>java.lang.Float</java-type>
               <jdbc-type>FLOAT</jdbc-type>
               <sql-type>FLOAT4</sql-type>
               </mapping>
               <mapping>
               <java-type>java.lang.Double</java-type>
               <jdbc-type>DOUBLE</jdbc-type>
               <sql-type>FLOAT8</sql-type>
               </mapping>
               <mapping>
               <java-type>java.lang.Character</java-type>
               <jdbc-type>CHAR</jdbc-type>
               <sql-type>CHAR</sql-type>
               </mapping>
               <mapping>
               <java-type>java.lang.String</java-type>
               <jdbc-type>VARCHAR</jdbc-type>
               <sql-type>VARCHAR(256)</sql-type>
               </mapping>
               <mapping>
               <java-type>java.util.Date</java-type>
               <jdbc-type>TIMESTAMP</jdbc-type>
               <sql-type>DATE</sql-type>
               </mapping>
               <mapping>
               <java-type>java.sql.Date</java-type>
               <jdbc-type>DATE</jdbc-type>
               <sql-type>DATE</sql-type>
               </mapping>
               <mapping>
               <java-type>java.sql.Time</java-type>
               <jdbc-type>TIME</jdbc-type>
               <sql-type>DATE</sql-type>
               </mapping>
               <mapping>
               <java-type>java.sql.Timestamp</java-type>
               <jdbc-type>TIMESTAMP</jdbc-type>
               <sql-type>DATE</sql-type>
               </mapping>
               <mapping>
               <java-type>java.math.BigDecimal</java-type>
               <jdbc-type>DOUBLE</jdbc-type>
               <sql-type>FLOAT8</sql-type>
               </mapping>
              <!--
              Mapping proposed by Computer Associates, but does not work with JBoss properly
              28.03.2003 hou
               <mapping>
               <java-type>java.math.BigDecimal</java-type>
               <jdbc-type>NUMERIC</jdbc-type>
               <sql-type>DECIMAL(24,6)</sql-type>
               </mapping>
              -->
               <mapping>
               <java-type>java.lang.Object</java-type>
               <jdbc-type>JAVA_OBJECT</jdbc-type>
               <sql-type>LONG VARCHAR</sql-type>
               </mapping>
               </type-mapping>
               <type-mapping>
               <name>McKoi</name>
               <row-locking-template>SELECT ?1 FROM ?2 WHERE ?3 ORDER BY ?4 FOR UPDATE</row-locking-template>
               <pk-constraint-template>CONSTRAINT ?1 PRIMARY KEY (?2)</pk-constraint-template>
               <fk-constraint-template>ALTER TABLE ?1 ADD CONSTRAINT ?2 FOREIGN KEY (?3) REFERENCES ?4 (?5)</fk-constraint-template>
               <alias-header-prefix>t</alias-header-prefix>
               <alias-header-suffix>_</alias-header-suffix>
               <alias-max-length>32</alias-max-length>
               <subquery-supported>true</subquery-supported>
               <true-mapping>TRUE</true-mapping>
               <false-mapping>FALSE</false-mapping>
              
               <function-mapping>
               <function-name>count</function-name>
               <function-sql>count(?1)</function-sql>
               </function-mapping>
              
               <mapping>
               <java-type>java.lang.Boolean</java-type>
               <jdbc-type>BIT</jdbc-type>
               <sql-type>BOOLEAN</sql-type>
               </mapping>
               <mapping>
               <java-type>java.lang.Byte</java-type>
               <jdbc-type>TINYINT</jdbc-type>
               <sql-type>SMALLINT</sql-type>
               </mapping>
               <mapping>
               <java-type>java.lang.Short</java-type>
               <jdbc-type>SMALLINT</jdbc-type>
               <sql-type>SMALLINT</sql-type>
               </mapping>
               <mapping>
               <java-type>java.lang.Integer</java-type>
               <jdbc-type>INTEGER</jdbc-type>
               <sql-type>INTEGER</sql-type>
               </mapping>
               <mapping>
               <java-type>java.lang.Long</java-type>
               <jdbc-type>BIGINT</jdbc-type>
               <sql-type>BIGINT</sql-type>
               </mapping>
               <mapping>
               <java-type>java.lang.Float</java-type>
               <jdbc-type>REAL</jdbc-type>
               <sql-type>FLOAT</sql-type>
               </mapping>
               <mapping>
               <java-type>java.lang.Double</java-type>
               <jdbc-type>DOUBLE</jdbc-type>
               <sql-type>DOUBLE</sql-type>
               </mapping>
               <mapping>
               <java-type>java.lang.Character</java-type>
               <jdbc-type>CHAR</jdbc-type>
               <sql-type>CHAR</sql-type>
               </mapping>
               <mapping>
               <java-type>java.lang.String</java-type>
               <jdbc-type>VARCHAR</jdbc-type>
               <sql-type>VARCHAR(64)</sql-type>
               </mapping>
               <mapping>
               <java-type>java.sql.Date</java-type>
               <jdbc-type>DATE</jdbc-type>
               <sql-type>DATE</sql-type>
               </mapping>
               <mapping>
               <java-type>java.sql.Time</java-type>
               <jdbc-type>TIME</jdbc-type>
               <sql-type>TIME</sql-type>
               </mapping>
               <mapping>
               <java-type>java.sql.Timestamp</java-type>
               <jdbc-type>TIMESTAMP</jdbc-type>
               <sql-type>TIMESTAMP</sql-type>
               </mapping>
               <mapping>
               <java-type>java.lang.Object</java-type>
               <jdbc-type>JAVA_OBJECT</jdbc-type>
               <sql-type>JAVA_OBJECT</sql-type>
               </mapping>
               </type-mapping>
              
               <type-mapping>
               <name>Firebird</name>
               <row-locking-template>SELECT ?1 FROM ?2 WHERE ?3 ORDER BY ?4 FOR UPDATE</row-locking-template>
               <pk-constraint-template>CONSTRAINT ?1 PRIMARY KEY (?2)</pk-constraint-template>
               <fk-constraint-template>ALTER TABLE ?1 ADD CONSTRAINT ?2 FOREIGN KEY (?3) REFERENCES ?4 (?5)</fk-constraint-template>
               <alias-header-prefix>t</alias-header-prefix>
               <alias-header-suffix>_</alias-header-suffix>
               <alias-max-length>31</alias-max-length>
               <subquery-supported>true</subquery-supported>
               <true-mapping>1</true-mapping>
               <false-mapping>0</false-mapping>
              
               <function-mapping>
               <function-name>count</function-name>
               <function-sql>count(?1)</function-sql>
               </function-mapping>
              
               <mapping>
               <java-type>java.lang.Boolean</java-type>
               <jdbc-type>BIT</jdbc-type>
               <sql-type>SMALLINT default 0</sql-type>
               </mapping>
               <mapping>
               <java-type>java.lang.Byte</java-type>
               <jdbc-type>TINYINT</jdbc-type>
               <sql-type>SMALLINT default 0</sql-type>
               </mapping>
               <mapping>
               <java-type>java.lang.Short</java-type>
               <jdbc-type>SMALLINT</jdbc-type>
               <sql-type>SMALLINT default 0</sql-type>
               </mapping>
               <mapping>
               <java-type>java.lang.Integer</java-type>
               <jdbc-type>INTEGER</jdbc-type>
               <sql-type>INTEGER default 0</sql-type>
               </mapping>
               <mapping>
               <java-type>java.lang.Long</java-type>
               <jdbc-type>BIGINT</jdbc-type>
               <sql-type>NUMERIC(18,0) default 0</sql-type>
               </mapping>
               <mapping>
               <java-type>java.lang.Float</java-type>
               <jdbc-type>REAL</jdbc-type>
               <sql-type>FLOAT default 0</sql-type>
               </mapping>
               <mapping>
               <java-type>java.lang.Double</java-type>
               <jdbc-type>DOUBLE</jdbc-type>
               <sql-type>DOUBLE PRECISION default 0</sql-type>
               </mapping>
               <mapping>
               <java-type>java.lang.Character</java-type>
               <jdbc-type>VARCHAR</jdbc-type>
               <sql-type>CHAR</sql-type>
               </mapping>
               <mapping>
               <!-- The small default length is due to the 128 byte max index key size -->
               <java-type>java.lang.String</java-type>
               <jdbc-type>VARCHAR</jdbc-type>
               <sql-type>VARCHAR(64)</sql-type>
               </mapping>
               <mapping>
               <java-type>java.sql.Date</java-type>
               <jdbc-type>DATE</jdbc-type>
               <sql-type>DATE</sql-type>
               </mapping>
               <mapping>
               <java-type>java.sql.Time</java-type>
               <jdbc-type>TIME</jdbc-type>
               <sql-type>TIME</sql-type>
               </mapping>
               <mapping>
               <java-type>java.sql.Timestamp</java-type>
               <jdbc-type>TIMESTAMP</jdbc-type>
               <sql-type>TIMESTAMP</sql-type>
               </mapping>
               <mapping>
               <java-type>java.lang.Object</java-type>
               <jdbc-type>JAVA_OBJECT</jdbc-type>
               <sql-type>BLOB</sql-type>
               </mapping>
               </type-mapping>
              
               <type-mapping>
               <name>InterBase</name>
               <row-locking-template>SELECT ?1 FROM ?2 WHERE ?3 ORDER BY ?4 FOR UPDATE</row-locking-template>
               <pk-constraint-template>CONSTRAINT ?1 PRIMARY KEY (?2)</pk-constraint-template>
               <fk-constraint-template>ALTER TABLE ?1 ADD CONSTRAINT ?2 FOREIGN KEY (?3) REFERENCES ?4 (?5)</fk-constraint-template>
               <alias-header-prefix>t</alias-header-prefix>
               <alias-header-suffix>_</alias-header-suffix>
               <alias-max-length>31</alias-max-length>
               <subquery-supported>true</subquery-supported>
               <true-mapping>1</true-mapping>
               <


              • 19. Re: Quirky Behavior of Jackrabbit CMS?
                david.hoffman

                Noone has any suggestions?

                1 2 Previous Next