【发布时间】:2021-01-28 18:47:49
【问题描述】:
我正在尝试运行使用 H2 内存数据库和休眠的测试。 但是在上下文启动期间出现以下错误:
原因:org.h2.jdbc.JdbcSQLSyntaxErrorException: 语法错误 SQL 语句“CREATE TABLE ANIMAL (ID BIGINT NOT NULL, CREATIONDATE 日期时间,创建者 VARCHAR(255),最后修改日期时间, LASTMODIFIEDBY VARCHAR(255),版本 BIGINT,过敏 VARCHAR(255), 病历 VARCHAR(255)、品种 VARCHAR(255)、注释 VARCHAR(255)、 DATEOBFIRTH 日期时间,已故位不为空,饮食 VARCHAR(255), HUSBANDRY VARCHAR(255)、IDCODE VARCHAR(255)、NAME VARCHAR(255)、SEX INTEGER、WEIGHT FLOAT、FK_OWNER BIGINT、TAXONOMY_ID BIGINT、PRIMARY KEY (ID)) ENGINE=[*]MYISAM";预期为“标识符”;
我做错了什么? 这是 application.properties 文件:
jdbc.driverClassName=org.h2.Driver
jdbc.url=jdbc:h2:mem:myDb;DB_CLOSE_DELAY=-1
hibernate.dialect=org.hibernate.dialect.H2Dialect
hibernate.hbm2ddl.auto=create
hibernate 尝试创建的所有数据库都重复同样的错误:
org.h2.jdbc.JdbcSQLSyntaxErrorException: SQL 语句中的语法错误 “创建表休眠序列(NEXT_VAL BIGINT)引擎=[*]MYISAM”; 预期的“标识符”
【问题讨论】:
-
在创建脚本中,您是否将每条指令放在一行中?
-
是的,脚本其实是Hibernate生成的
-
添加Animal实体类。