java - 与应用程序打包在一起的最轻的数据库

标签 java database hibernate orm embedded

我正在开发一个 Java 桌面应用程序,并且想要一个可以与 Hibernate 一起使用并且可以与应用程序打包在一起的轻型数据库

我打算使用 Derby 数据库。它的大小接近 2 MB。但在此之前,我想听听专家对 SO 的看法。

它可以与 Hibernate 一起使用吗?

实际上,我是 Hibernate 的新手,正在研究它需要用于数据库的 Dialect 那么 Hibernate 是否有用于 Derby 的方言?

最佳答案

JavaDB (Sun 支持的开源 Apache Derby 发行版),HSQLDB (不太活跃)和H2 (successor of HSQLDB) 都是 100% Java 嵌入式数据库引擎,可以所有 与 Hibernate 一起使用(即它们有方言)。引用this pagethis one .

在所有这些数据库中,HSQLDB 占用空间最小(~700 KB)。但就功能而言(参见 this comparison),H2 是明显的赢家,它的占用空间 (~1 MB) 仍然小于 Derby 的占用空间 (~2 MB)。

最终的选择取决于您的需求,但 H2 是功能和大小的一个很好的折衷方案(换句话说,是一个强大的竞争对手)。看看上面提到的比较。

关于java - 与应用程序打包在一起的最轻的数据库,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2431546/

相关文章:

java - 如何使用 java API 获取 RTC 工作项属性数据?

java - 私有(private)包 list header 有什么作用?

java - 调用存储过程 (MySQL) 从 Hibernate 中抛出异常

php - Symfony2 从数据库加载设置

mysql - 用于将数据从 Cassandra 迁移到 MySQL 的工具?

java - 为 @GenerateValue 字段获取 "java.sql.SQLException: No value specified for parameter"

java - 如何使用 Hibernate 更新我的应用程序 java 中数据库中的数据?

java - byte[] 到 String 返回不同的 String

java 我以编程方式下载的文件的大小小于手动下载的文件

mysql日期范围,较大日期在较小日期之前