要用应用程序打包的最轻的数据库

我正在开发一个Java桌面应用程序,并希望有一个可以与Hibernate一起使用的light database ,并且可以使用应用程序打包。

我打算使用Derby数据库。 它的大小接近2 MB。 但在此之前,我希望得到有关SO的专家意见。

它适用于Hibernate吗?

实际上,我是Hibernate的新手,并且正在研究它需要一个Dialect用于数据库,所以Hibernate是否有Derby方言?

JavaDB (Sun支持开源Apache Derby的分发), HSQLDB (不是非常活跃)和H2 ( HSQLDB的后继者 )都是100%Java可嵌入数据库引擎,并且可以与Hibernate一起使用(即它们有方言) 。 请参阅本页和本页 。

HSQLDB具有所有这些中最小的占用空间(~700 KB)。 但function明智(参见此比较 ),H2是明显的赢家,它的足迹(~1 MB)仍然小于Derby的一个(~2 MB)。

最终的选择取决于你需要什么,但H2是一个很好的function和尺寸折衷(换句话说,一个伟大的竞争对手)。 看看上面提到的比较。

我推荐HSQLDB 。 它体积小,速度快,运行时可以很好地运行Hibernate。 Hibernate也有Derby DB的方言(虽然我没有使用它,但我认为Hibernate还没有正式支持)。

另一种选择是SQLite。

Hibernate和SQLite

您也可以尝试Firebird

有嵌入式版本和客户端/服务器模式版本

这里是hibernate 支持的数据库的链接