HSQLDB for production System

Hello together,

just wanted to ask, does anybody uses or suggests to use the HSQLDB Databse for a Production Application. For example about 25 entites, up to about 3 million datasets spread over different Tables.

I noticed CUBA Platform works awesome with the HSQLDB Database, which is the default DB configured in the framework.

So i was just wondering, do you suggest HSQLDB only for development, and therefore to moving to PostgreSQL, Oracle or something, when going “Live” with the application?

Thanks for your feedback in advance
Best Regards


generally HSQLDB is mostly considered for testing / development, since normally you have requirements for a database that might not be fulfilled by this RDBMS like clustering, snapshots etc. So I think for most people that would not the the first choice.

The reason why a lot of frameworks use something like H2 / HSQLDB is because it can easily started in the development process and it is not a deal to create & start it on the fly. I assume this is why CUBA uses HSQLDB as well. Because for everything else the user would have to install this software beforehand.

Since CUBA is fine with creating DDL statements for other RDBMS like PostgreSQL, you can easily switch to it.

That said, there might be cases where it is totally fine to use it. I don’t know about performance characteristics of HSQLDB, but I can imagine that it might be enough for smaller data sets / performance criteria.


Hello Mario,

thanks for your fast answer. so what would be your suggested DBMS for a production CUBA Application. Thought about using MySQL but noticed there are some “issues” with the “Soft Delete” functionality.

will i experience any extraordinary behaviors using PostgreSQL also ? Like with the “Soft Delete” function under MySQL.


Hi @dannywall55s,

I use PostgreSQL for production, which is also the most popular database accompanying CUBA solutions in Haulmont - vendor of CUBA Platform. So, I would suggest PostgreSQL for you as well.