3

外部キーのサポートを有効にして、sqlite と spring を動作させることに成功した人はいますか? デフォルトでは、外部キーのサポートは sqlite で無効になっています。http://www.sqlite.org/foreignkeys.htmlのドキュメントには、データベース接続ごとに個別に有効にする必要があることが記載されています。私が持っている sqlite のバージョンは外部キーをサポートしていると確信しています (先週だけダウンロードしました)。

テストする: PRAGMAforeign_keys をキー入力した場合。0 が返されます。これは、外部キーがオフになっていることを意味しますが、サポートは存在します。

私のデータソースは春に次のように定義されています:

<bean id="dataSource" class="org.apache.commons.dbcp.BasicDataSource">
<property name="driverClassName" value="${jdbc.driverclass}"/>
<property name="url" value="${jdbc.url}"/>
</bean>

春の設定で外部キーを有効にするにはどうすればよいですか?

4

4 に答える 4

0

春のフォーラムの1つで答えを見つけました:

    <bean id="dataSource" class="org.apache.commons.dbcp.BasicDataSource">
    <property name = "connectionInitSqls">
    <list><value>**PRAGMA foreign_keys = ON**</value></list>
    </property>
    ...
    </bean>
于 2012-09-29T20:33:42.197 に答える
0

解決策 3

Hikari を使用する場合 (Spring Boot 2+ ではデフォルトで)、application.properties に次のエントリを使用して Xerial JDBC ドライバーを構成するだけです。

spring.datasource.hikari.data-source-properties.foreign_keys=true
于 2021-05-04T11:06:51.550 に答える