Existem bancos de dados em um único arquivo (usados principalmente em Android e iPhone). Te aconselho o SQLite. Mas já se prepara, porque ele não tem todos os recursos de um banco de dados normal e todo o banco é salvo em um único arquivo (.db, por exemplo). Então você só precisa colocar tal arquivo no seu jar e acessá-lo com o driver (feito em C++).
fernandopaiva
o SQLite nao vai embutido no jar, ele cria um arquivo em um diretorio, entaum vc cria um diretorio na raiz do seu projeto…tipo, /SeuProjeto/bd e se conecta ao seu banco de dados.
De uma olhada no H2 database e o HSQLDB tbm…
t+ e boa sorte.
hugo.hlcxcx
Pra esse caso, a melhor opção é o banco H2, como citou o colega acima.