spring - 将 0x00 插入 H2 嵌入式数据库二进制(1)类型列给出“值太长”错误
问题描述
当我尝试将值 0x00 插入类型为 binary(1) 的列中时,出现错误:
Value too long for column "SUMMARY VARBINARY(1)": "X'00000000' (4)";
为什么/如何将单字节 0x00 值转换为 4 字节值?这是在测试上下文中,我想使用实际表的列类型(二进制(1))。
这是 H2 版本 1.4.200;Spring Boot 2.4.4 版;mssql-jdbc:8.4.1.jre8
解决方案
通过添加MODE=MSSQLServer
用于创建 HikariConfig bean 的 jdbc-url 属性来解决,该属性又用于创建 HikariDataSource bean:
具体来说,在我的 application-test.properties 我现在有
spring.datasource.jdbc-url=jdbc:h2:mem:testdb;DB_CLOSE_DELAY=-1;MODE=MSSQLServer
推荐阅读
- .htaccess - 无法重定向查询字符串 url
- openshift - openshift 指标部署程序错误
- javascript - 使用 fs-extra 和 Chokidar node.js 同步文件
- javascript - 如何使用 ci jquery ajax 对加入表进行分组?
- python - 直接在 NLTK 模式中应用字符串
- ios - 无法为 Facebook Graph API 用户的照片边缘获取单个大尺寸
- python - logits 的形状和标签不匹配
- webview - Window.open() 在 WKWebView 中不起作用
- extjs - 在 extjs 中创建组件时提供显示属性
- javascript - 使用 socket.io 同步新客户端