一尘不染

Hibernate是否完全支持SQLite

hibernate

Jboss Hibernate没有对SQLite的支持发表任何意见-

https://community.jboss.org/wiki/SupportedDatabases2

在下面的SO中也提到了相同的内容:

Hibernate + SQLite +Netbeans

您能否对此重点介绍。我想将嵌入式SQLite与Hibernate一起用于秋千桌面应用程序。

我也在评估Derby(JavaDB),因为它也可以嵌入并且是jdk的一部分。


阅读 702

收藏
2020-06-20

共1个答案

一尘不染

由于SQLite是用于C类环境的嵌入式数据库,是用C编写并因此编译为本机代码,因此Hibernate(或任何ORM)将支持的更改并不是很高。Java是跨平台的,并且具有依赖于平台的依赖关系会有点奇怪。在Android上,使用SQLite,但该平台在那里提供了JDBC驱动程序。

通常,Windows二进制文件可以在不同的Windows版本上兼容-
只要体系结构保持不变即可。如果查看SQLite下载页面,您会注意到这里有一个32位的预构建Windows二进制文件。该版本几乎可以在所有Windows版本(可能是Windows
RT除外)上使用,但不能在Linux或OS X上使用。要使用Java的SQLite,您需要针对特定​​的OS
/架构,有效地使Java应用程序依赖平台。那是您通常不想要的东西。

如果要在Swing中构建桌面应用程序,并且要使用嵌入式数据库,我的建议是使用Java嵌入式数据库,例如H2HSQLDerby。后者也随Oracle
Java一起作为JavaDB附带。全部都支持为hibernate方言(有关方言的完整列表,请参见方言类:https :
//github.com/hibernate/hibernate-orm/tree/master/hibernate-
core/src/main/java/org/hibernate /方言)

正如@akostadinov在下面指出的那样,您可能还要考虑其他因素,例如SQLite是用本机代码编写的,因此 可能
具有更好的性能。最后,唯一可以决定哪个数据库最好的人就是构建系统的人。

2020-06-20