使用 spring 数据源更改 HSQLDB 上的 blob 大小

Posted

技术标签:

【中文标题】使用 spring 数据源更改 HSQLDB 上的 blob 大小【英文标题】:Changing blob size on HSQLDB with spring datasource 【发布时间】:2013-05-16 11:30:52 【问题描述】:

我正在通过 Spring 和 C3P0 配置 HSQLDB,如果它不存在,这将为我创建数据库。

<bean id="DataSource" class="com.mchange.v2.c3p0.ComboPooledDataSource"
        destroy-method="close">
        <property name="driverClass" value="org.hsqldb.jdbcDriver" />
        <property name="jdbcUrl" value="jdbc:hsqldb:file:mydb/mydb" />
        <property name="user" value="sa" />
        <property name="password" value="" />
    </bean>

但是,我想将 BLOB 大小初始化为 8kb 而不是默认值 32kb,是否可以在 Spring 中以某种方式设置参数?我知道我可以稍后编辑脚本文件以将 SET FILES LOB SCALE 32 设置为 8,但如果可能的话,我希望它设置在 Spring/C3P0 上。

【问题讨论】:

【参考方案1】:

是的。对于新数据库,可以在 URL 中或作为属性包含多个设置。

要更改 BLOB 块大小,请添加以下行:

    <property name="hsqldb.lob_file_scale" value="8" />

指南中介绍了这些属性:

http://www.hsqldb.org/doc/2.0/guide/dbproperties-chapt.html#dpc_db_file_mem

【讨论】:

以上是关于使用 spring 数据源更改 HSQLDB 上的 blob 大小的主要内容,如果未能解决你的问题,请参考以下文章

如何在 Spring Boot 测试中连接到内存中的 HSQLDB 以进行查询

将 MySQL 连接到 Spring 应用程序

使用 HSQLDB 作为 Spring、Hibernate 的可移植数据库

使用 JAVA 线程在 hsqldb 中进行并发访问

对于测试套件,用内存中的 HSQLDB 替换 MYSQL 不起作用

使用 JavaConfig 使用 Spring 应用程序的 HSQLDB 新手