H2 数据库错误 未知数据类型 INTERVAL
Posted
技术标签:
【中文标题】H2 数据库错误 未知数据类型 INTERVAL【英文标题】:H2 Database error Unknown data type INTERVAL 【发布时间】:2019-11-01 15:42:02 【问题描述】:我正在为一个 JPA 项目进行集成测试。测试在嵌入式 h2 数据库上运行。但是,当我使用
时,我在休眠模式生成期间收到来自 h2 的错误@Column(columnDefinition = "INTERVAL HOUR TO MINUTE")
错误是 org.h2.jdbc.JdbcSQLException: Unknown data type: "INTERVAL";
h2 文档表明支持 INTERVAL:
http://www.h2database.com/html/datatypes.html#interval_type
我使用的是 h2 版本 1.4.197
离开 JPA 并直接在 h2 控制台中工作,我尝试了以下脚本,该脚本也会生成未知数据类型错误:
CREATE TABLE test_interval (id INTEGER, test_hours INTERVAL HOUR TO MINUTE);
我尝试过 INTERVAL 类型的其他变体,所有这些变体都会产生相同的错误
我在任何地方都找不到任何关于这个问题的讨论。
【问题讨论】:
【参考方案1】:您需要使用更新版本的 H2。 H2 从 1.4.198 开始支持标准的INTERVAL
数据类型,但 1.4.198 是 beta 质量版本,请使用更新的版本,例如 1.4.199 或 1.4.200。
在线文档仅适用于最新版本,当前为 1.4.200。如果您使用一些旧版本,则必须使用其发行版中的文档。
【讨论】:
哇,真的吗?我想我的错误是假设如此广泛使用的库使用语义版本编号。如果没有这些,那么文档可能应该提供更多关于何时实施新功能的信息。 H2 从来没有语义版本,版本只是按顺序命名。以上是关于H2 数据库错误 未知数据类型 INTERVAL的主要内容,如果未能解决你的问题,请参考以下文章
org.h2.jdbc.JdbcSQLException:未知数据类型:“DATEADD”; SQL 语句