我正在为一个JPA项目进行集成测试。测试在嵌入式h2数据库上运行。然而,当我使用时,在hibernate模式生成过程中,我从h2得到了一个错误
@Column(columnDefinition = "INTERVAL HOUR TO MINUTE")
错误为org.h2.jdbc.JdbcSQLException:未知数据类型:"INTERVAL";
h2文档表明支持INTERVAL:
http://www.h2database.com/html/datatypes.html#interval_type
我使用的是氢版本1.4.197
离开JPA,直接在h2控制台中工作,我尝试了以下脚本,它也会生成未知数据类型错误:
CREATE TABLE test_interval (id INTEGER, test_hours INTERVAL HOUR TO MINUTE);
我尝试过INTERVAL类型的其他变体,所有这些变体都会产生相同的错误
我在任何地方都找不到关于这个问题的任何讨论。
您需要使用H2的最新版本。H2自1.4.198起支持标准INTERVAL
数据类型,但1.4.198是测试版,请使用更新的版本,如1.4.199或1.4.200。
在线文档仅适用于最新版本,目前为1.4.200。如果使用的是旧版本,则必须使用其发行版中的文档。