What it does
HSQLDB, also called HyperSQL Database, is a Java relational database engine with in-memory and file-backed catalogs, embedded and server modes, and JDBC access. The included SQL tools can connect to a catalog for interactive creation, edits, and queries. Its homepage reports SQL:2023 support and lists version 2.7.4, dated October 2024, as the latest release shown there.
HSQLDB lets a Java application choose where its database lives. A mem: catalog disappears with the Java process, while a file: catalog keeps database files on disk. The user guide also describes a server mode for clients that need to connect separately. Those are different operating patterns, not hosted service tiers.
A small JDBC exercise
For a first check, use an isolated file catalog and a simple table. The following SQL illustrates a minimal create, insert, and select workflow:
CREATE TABLE inventory (id INTEGER PRIMARY KEY, item VARCHAR(80));
INSERT INTO inventory VALUES (1, 'sensor');
SELECT item FROM inventory WHERE id = 1;
The query should return the row for sensor. The bundled DatabaseManagerSwing or SqlTool can be used to create a database, change data, and run queries, or an application can connect through JDBC. The guide cautions that a writable file catalog opened in-process cannot be shared by multiple Java processes; use server mode when separate clients need the same database. It also documents that a new catalog may be created when a path is misspelled, so verify the location before connecting to important data.
For a server deployment, configure access controls and change the default system user's empty password before exposing the listener. Shut down cleanly before copying database files. The homepage also describes optional SupportWare subscriptions, separate from the database engine's free-to-use license.
Strengths
- Offers in-memory, persistent file, and read-only resource catalogs, with both in-process and server deployment modes.
- Includes a JDBC driver, a Swing database manager, and a command-line SQL tool.
- Supports standard SQL features and documents transaction-control choices including MVCC.
Watch out for
- A writable file catalog opened in-process is limited to one Java process; shared access requires a server setup.
- The guide calls for security configuration on server deployments, including changing the default system-user password.
- The homepage's latest release information shown is dated October 2024, so verify whether a newer build is available before adopting it.
Best for
- Java applications that need a compact embedded relational database or a separate JDBC-accessible server
- Development and tests that need a choice between transient in-memory data and file persistence
Sources
- HSQLDB - 100% Java Database (Oct 25, 2026)
- Chapter 1. Running and Using HyperSQL (Oct 25, 2026)
- HyperSQL License (Oct 25, 2026)
