2012-03-22 239 views
1

我正在使用Java與SQLiteJDBCSQLite外鍵約束

我掙扎理解爲什麼我的外鍵不作爲限制,直到我讀了以下內容:

此前3.6.19版本,SQLite的不支持外鍵約束。

然後我把在SQLiteJDBC網站仔細一看,發現:

目前的版本是v056,基於SQLite的3.6.14.2。

有一個解決方案文檔here,雖然它是一個非常古老的文章 - 它仍然是繼續進行的最佳方式?其他SQLite Java連接器會被推薦嗎?

+0

這是升級是一個昂貴的操作的情況嗎?升級是最好的方式,因爲新版本提供了您想要的功能。 – MrGomez 2012-03-22 21:50:50

+0

我對替代品非常開放;這完全是一個學習曲線,不管它是一個令人沮喪的。你是指新版本?編輯:我認爲有一些混淆 - SQLiteJDBC是建立在脫離SQLite的版本之前,實現了外鍵約束。 – c24w 2012-03-22 22:03:59

+1

我的錯誤。事實證明,這並不是基於3.6.19以上版本的SQLiteJDBC的更新版本。事實上,它自2009年以來一直沒有更新。所以,這是行不通的。 – MrGomez 2012-03-22 22:06:03

回答

1

Java中的SQLite支持似乎是not be so great

您可以重建javasqlite針對的SQLite的新版本,因爲它取決於:

的SQLite 2.4.12 或更高

是否會實際工作還有被看到,但我認爲SQLite有一個相當穩定的API。

您也可以嘗試針對較新版本的SQLite構建SQLiteJDBC from source

編輯:

事實上,Xerial SQLiteJDBC一直updated much more recently。顯然,它是很慢的,因爲它是純Java。