成都網(wǎng)站建設(shè)培訓(xùn)班公關(guān)公司提供的服務(wù)有哪些
前言
我個(gè)人項(xiàng)目中,不想使用太重的數(shù)據(jù)庫(kù),而內(nèi)嵌數(shù)據(jù)庫(kù)中SQLite又是最受歡迎的, 因此決定采用這個(gè)數(shù)據(jù)庫(kù)。 可是JPA并不支持Sqlite,這篇文章就是記錄如何解決這個(gè)問題的。
原因
JPA屏蔽了底層的各個(gè)數(shù)據(jù)庫(kù)差異, 但是由于數(shù)據(jù)庫(kù)的方言不同, 而JPA原生沒有提供Sqlite的方言支持。 導(dǎo)致無(wú)法直接整合。
解決辦法
查詢網(wǎng)絡(luò)上的解決方案,大部分都是推薦這個(gè)第三方的這個(gè)包。可是這個(gè)包并不支持最新版的Hibernate
<dependency><groupId>com.github.gwenn</groupId><artifactId>sqlite-dialect</artifactId></dependency>
于是我引入項(xiàng)目嘗試使用, 結(jié)果發(fā)現(xiàn)還是不行。 由于我使用的是最新的sqlite3
和較新的JPA
包, 懷疑是版本問題。
于是我直接在Github上搜索這個(gè)包, 注意到他的簡(jiǎn)介中說(shuō)到在最新的Hibernate 6中棄用了。 考慮到我使用較新的JPA版本, 于是我點(diǎn)擊進(jìn)去看下,發(fā)現(xiàn)有官方開源的數(shù)據(jù)庫(kù)方言包。
于是引入官方包,問題解決。
總結(jié)
由于我個(gè)人比較喜歡使用最新版本的各種包,所以容易遇到各種問題, 多找找網(wǎng)絡(luò)信息,多花點(diǎn)心思往往都容易找到解決方案的。