Lightest Database to be packed with an application
I am developing a Java Desktop Application and want a light database
that can be used with Hibernate
and that can be packed with an application.
I was going to use Derby
database. It's size is near 2 MB. But before that I wanted to have views o开发者_运维知识库f experts on SO.
Will it work with Hibernate
?
Actually, I am new to Hibernate and was studying that it requires a Dialect
for a database so Is Hibernate has dialect for Derby
?
JavaDB (Sun's supported distribution of the open source Apache Derby), HSQLDB (not very active) and H2 (the successor of HSQLDB) are all 100% Java embeddable database engines and can all be used with Hibernate (i.e. there are dialect for them). Refer to this page and this one.
HSQLDB has the smallest footprint (~700 KB) of all of them. But feature wise (see this comparison), H2 is the clear winner and its footprint (~1 MB) is still smaller than Derby's one (~2 MB).
The final choice depends on what you need but H2 is a good compromise of features and size (in other words, a big competitor). Have a look at the mentioned comparison.
I would recommend HSQLDB. It is small and fast and runs fine with Hibernate. Hibernate has a dialect for the Derby DB as well (haven't used it though and I think it is not officially supported by Hibernate yet).
Another Alternative would be SQLite.
Hibernate and SQLite
You can also try Firebird
There is an embedded version and a client/server mode version
Here an link to hibernate supported database
精彩评论