PRAGMA foreign_key = ONに設定しようとしています。 sqliteデータベースで。私はjavaのいくつかのソフトウェアをsqlite用のjdbcドライバを使ってコーディングします。これはhttp://www.xerial.org/trac/Xerial/wiki/SQLiteJDBCです。SQLite JDBC PRAGMA設定
DBのクエリを高速化するために接続プールも使用しています。私はこのライブラリを使用しています: http://commons.apache.org/dbcp/。
これまですべてが良好でした。今、PRAGMAの設定、具体的にはPRAGMA foreign_key = ONを設定する必要があります。テーブルを作成する前に、db内のいくつかのカラム間の一貫性を確認する必要があるからです。
DBを作成すると、自動的にOFFに設定されます。だから私はそれを使用するためにそれをオンにする必要があります。
しかし、私はどのように行うのか分からないが、私はプール可能データソースを用意しております方法は、このようなものです:
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;
}
しかし、私はきちんとそのプラグマを設定する方法がわからないが、私はこの1つことがわかりました可能です:
SQLiteConfig config = new SQLiteConfig();
config.enforceForeignKeys(true);
しかし、私はそのプール可能トリッキーな設定に関連して、それを使用する方法がわからない...
任意のアイデア?
この[link] [1]は役に立ちます。 [1]:http://code-know-how.blogspot.ru/2011/10/how-to-enable-foreign-keys-in-sqlite3.html – Marco167