You might try sqllite for a simple database that persists data to a file. There is a jdbc driver for it here: https://bitbucket.org/xerial/sqlite-jdbc along with instructions for use. You can see that when you specify the connection, you pass in a file name. The driver itself can be downloaded via maven.
It seems like there's some question as to whether you can use hibernate with it: Does Hibernate Fully Support SQLite. It seems like it might be worth a shot.
One step up in complexity is hsqldb. I often use it for testing hibernate persistence layers in memory (with the production app using mysql or oracle). So I know that it works with spring/hibernate: http://hsqldb.org/.
Have fun!