I am using Java with SQLiteJDBC.
I was struggling to understand why my foreign keys were not acting as constraints, until I read the following:
Prior to version 3.6.19, SQLite did not support foreign key constraints.
I then took a closer look at the SQLiteJDBC website and found:
The current version is v056, based on SQLite 3.6.14.2.
There is a solution documented here, although it is a very old article - is it still the best way to proceed? Would other SQLite Java connectors be recommended?
SQLite support in Java seems to not be so great.
You may be able to rebuild javasqlite against a newer version of SQLite, since it depends on:
SQLite 2.4.12 or higher
Whether it will actually work remains to be seen, but I think SQLite has a fairly stable API.
You could also try to build SQLiteJDBC from source against a newer version of SQLite.
EDIT:
Actually, Xerial SQLiteJDBC has been updated much more recently. Apparently it's a lot slower though since it's pure Java.