Я пытаюсь установить PRAGMA foreign_key = ON;в базе данных sqlite.Я кодирую некоторое программное обеспечение на Java, используя драйвер jdbc для sqlite, этот: http://www.xerial.org/trac/Xerial/wiki/SQLiteJDBC.
Я также использую пул соединений для ускорения запросов к БД.Я использую эту библиотеку: http://commons.apache.org/dbcp/.
До этого момента все хорошо.Теперь мне нужно установить настройку PRAGMA, конкретно PRAGMA foreign_key = ON;перед созданием таблиц, потому что мне нужно убедиться в согласованности между некоторыми столбцами в БД.
Когда я создаю БД, для нее автоматически устанавливается значение ВЫКЛ.Поэтому я должен включить его, чтобы использовать его.
Но я не знаю, как это сделать, то, как я готовлю объединяемый источник данных, выглядит так:
public static DataSource getDataSource(String connectURI) {
GenericObjectPool connectionPool = new GenericObjectPool(null);
ConnectionFactory connectionFactory =
new DriverManagerConnectionFactory(connectURI, null);
PoolableConnectionFactory poolableConnectionFactory =
new PoolableConnectionFactory(connectionFactory, connectionPool, null, null, false, true);
DataSource dataSource = new PoolingDataSource(connectionPool);
return dataSource;
}
Но я не знаю, как правильно установить эту прагму, яобнаружил, что это возможно:
SQLiteConfig config = new SQLiteConfig();
config.enforceForeignKeys(true);
Но я не знаю, как использовать его в связи с этими сложными настройками пула ...
Есть идеи?