Java H2Database:MODE=PostgreSQL:不支持枚举类型
我想使用H2和PostgreSQL方言 我的H2版本:Java H2Database:MODE=PostgreSQL:不支持枚举类型,java,postgresql,scala,jdbc,h2,Java,Postgresql,Scala,Jdbc,H2,我想使用H2和PostgreSQL方言 我的H2版本: "com.h2database" % "h2" % "1.4.190" 这是我的配置H2: jdbc.url=jdbc:h2:mem:test;MODE=PostgreSQL;DB_CLOSE_DELAY=-1 jdbc.driver_class=org.h2.Driver jdbc.username=sa jdbc.password="" 这是我的SQL语句: create type myEnum as enum ('one', 't
"com.h2database" % "h2" % "1.4.190"
这是我的配置H2:
jdbc.url=jdbc:h2:mem:test;MODE=PostgreSQL;DB_CLOSE_DELAY=-1
jdbc.driver_class=org.h2.Driver
jdbc.username=sa
jdbc.password=""
这是我的SQL语句:
create type myEnum as enum ('one', 'two', 'three');
当我尝试使用simple scala JDBC执行它时,会引发以下异常:
Unknown data type: "ENUM"; SQL statement:
从官方网站:
谁能告诉我我做错了什么吗?没什么,错了。这只是还没有实现,您的链接是路线图,因此它列出了计划的功能。你为什么需要这个?为什么不使用真正的Postgres服务器呢?我在web应用程序中使用真正的PostgreSQL server,我想使用H2内存数据库进行单元测试。使用不同的DBMS进行测试不是一个好主意。除了明显的语法差异和功能差异外,在行为上也存在细微的差异,这些差异本质上使您的测试在不运行真正的DBMS时无效。这个答案可能会有所帮助:
Support ENUM data type (see MySQL, PostgreSQL, MS SQL Server, maybe others).