Melhor Banco de dados embarcado

Boa noite senhores.

Venho mais uma vez solicitar a voz da experiência dos programadores Java.

Estou desenvolvendo uma aplicação desktop em Java, vou usar jpa+hibernate.

Sou relativamente novato no java e sempre usei o SQL Server em servidores, basicamente administrando seus recursos, manutenção e etc.

Mas agora a coisa mudou e ao invés do confortável mundo do SGDB, preciso embarcar um banco na aplicação que estou desenvolvendo.

Estou usando o mysql para meus testes, mas já pensando no futuro preciso decidir o banco que vou mandar junto com a aplicação.

A aplicação em si não vai ter mais de 1 gb armazenado.

Quais os melhores bancos para uma aplicação java? Estava pensando no Firebird mas achei outras opções que nunca usei: H2, HSQL…

O que recomendam ?

Tenho algumas aplicações Java(Desktop), com o JavaDB(Derby) embarcado e tenho bons resultados. Estou bem satisfeito, geralmente, dependendo do tamanho da aplicação e sua complexidade uso(JPA/EclipseLink) por ser mais leve, ja utilizei com Hibernate também e tudo flui muito bem.

Já usei o H2 e o resultado foi muito bom. Recomendo.

Eu uso a anos o Firebird Embedded. É realmente muito bom e fácil de usar.