JPA整合Sqlite解决Dialect报错问题, 最新版Hibernate6

前言

我个人项目中,不想使用太重的数据库,而内嵌数据库中SQLite又是最受欢迎的, 因此决定采用这个数据库。 可是JPA并不支持Sqlite,这篇文章就是记录如何解决这个问题的。

原因

JPA屏蔽了底层的各个数据库差异, 但是由于数据库的方言不同, 而JPA原生没有提供Sqlite的方言支持。 导致无法直接整合。

解决办法

查询网络上的解决方案,大部分都是推荐这个第三方的这个包。可是这个包并不支持最新版的Hibernate

xml 复制代码
   	 <dependency>
           <groupId>com.github.gwenn</groupId>
           <artifactId>sqlite-dialect</artifactId>
       </dependency>

于是我引入项目尝试使用, 结果发现还是不行。 由于我使用的是最新的sqlite3 和较新的JPA包, 怀疑是版本问题。

于是我直接在Github上搜索这个包, 注意到他的简介中说到在最新的Hibernate 6中弃用了。 考虑到我使用较新的JPA版本, 于是我点击进去看下,发现有官方开源的数据库方言包。

于是引入官方包,问题解决。

总结

由于我个人比较喜欢使用最新版本的各种包,所以容易遇到各种问题, 多找找网络信息,多花点心思往往都容易找到解决方案的。

相关推荐
烙印6013 分钟前
MyBatis原理剖析(二)
java·数据库·mybatis
RestCloud4 分钟前
如何通过ETLCloud实现跨系统数据同步?
数据库·数据仓库·mysql·etl·数据处理·数据同步·集成平台
你是狒狒吗6 分钟前
TM中,return new TransactionManagerImpl(raf, fc);为什么返回是new了一个新的实例
java·开发语言·数据库
Channing Lewis1 小时前
sql server如何创建表导入excel的数据
数据库·oracle·excel
秃头摸鱼侠1 小时前
MySQL安装与配置
数据库·mysql·adb
UGOTNOSHOT1 小时前
每日八股文6.3
数据库·sql
行云流水行云流水2 小时前
数据库、数据仓库、数据中台、数据湖相关概念
数据库·数据仓库
John Song2 小时前
Redis 集群批量删除key报错 CROSSSLOT Keys in request don‘t hash to the same slot
数据库·redis·哈希算法
IvanCodes2 小时前
七、Sqoop Job:简化与自动化数据迁移任务及免密执行
大数据·数据库·hadoop·sqoop
tonexuan2 小时前
MySQL 8.0 绿色版安装和配置过程
数据库·mysql