Configure HSQLDB
Last modified by Eleni Cojocariu on 2026/08/13 16:22
Steps
To configure XWiki to use HSQLDB as the database, which runs embedded in the same JVM as XWiki:
- Make sure you have already installed and configured a servlet container for XWiki (e.g. Tomcat or Jetty), with the XWiki WAR file extracted/deployed.
- Check that the hsqldb*.jar driver is present in the WEB-INF/lib directory of the expanded XWiki WAR.
If it is missing, download it from the HSQLDB website or from the Maven Central repository and copy it there.
- Edit the WEB-INF/hibernate.cfg.xml file and uncomment the HSQLDB configuration block. The database files are created under the permanent directory; replace ${environment.permanentDirectory}/database/xwiki_db with an absolute path if you want them elsewhere.
<property name="hibernate.connection.url">jdbc:hsqldb:file:${environment.permanentDirectory}/database/xwiki_db;shutdown=true</property> <property name="hibernate.connection.username">sa</property> <property name="hibernate.connection.password"></property> <property name="hibernate.connection.driver_class">org.hsqldb.jdbcDriver</property> <property name="hibernate.connection.charSet">UTF-8</property> <property name="hibernate.connection.useUnicode">true</property> <property name="hibernate.connection.characterEncoding">utf8</property> - Start or restart the application server. The HSQLDB database files are created automatically in the location specified by the connection.url property.
- Verify that the xwiki_db.script and xwiki_db.properties database files exist in the directory you configured.
FAQ
Can I use another HSQLDB setup?
Yes. XWiki can also connect to a remote HSQLDB server running as a separate process.
Can this database be used in production?
It is not recommended: HSQLDB is meant for evaluation rather than production, for the reasons listed in HSQLDB Limitations.
More
To find more about the current topic, you can search or use the table below and filter the columns to narrow your choices.