Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/sql/70.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 使用Hibernate和H2创建表时出错_Java_Sql_Hibernate_Jpa_H2 - Fatal编程技术网

Java 使用Hibernate和H2创建表时出错

Java 使用Hibernate和H2创建表时出错,java,sql,hibernate,jpa,h2,Java,Sql,Hibernate,Jpa,H2,我正在尝试运行一个使用H2内存数据库和hibernate的测试。 但在上下文启动期间,我遇到以下错误: 原因:org.h2.jdbc.JdbcSQLSyntaxErrorException:中的语法错误 SQL语句“创建表动物(ID BIGINT非空,CREATIONDATE DATETIME,创建者VARCHAR(255),LASTMODIFICATION DATETIME, 最后由VARCHAR(255)、版本BIGINT、过敏VARCHAR(255)修改, ANAMNESIS VARCHA

我正在尝试运行一个使用H2内存数据库和hibernate的测试。 但在上下文启动期间,我遇到以下错误:

原因:org.h2.jdbc.JdbcSQLSyntaxErrorException:中的语法错误 SQL语句“创建表动物(ID BIGINT非空,CREATIONDATE DATETIME,创建者VARCHAR(255),LASTMODIFICATION DATETIME, 最后由VARCHAR(255)、版本BIGINT、过敏VARCHAR(255)修改, ANAMNESIS VARCHAR(255),BREED VARCHAR(255),COMMENT VARCHAR(255), DATEOFBIRTH DATETIME,死亡位不为空,DIET VARCHAR(255), VARCHAR(255),ID代码VARCHAR(255),姓名VARCHAR(255),性别 整数,权重浮点,FK_所有者BIGINT,分类法_ID BIGINT,主 键(ID))引擎=[*]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语句中的语法错误 “创建表休眠\u序列(下一个\u VAL BIGINT)引擎=[*]MYISAM”; 预期的“标识符”


因此,在最后的问题是在配置文件中,我有错误的行:

Properties additionalProperties() {
    Properties properties = new Properties();
    properties.setProperty("hibernate.hbm2ddl.auto", "create-drop");
    properties.setProperty("hibernate.dialect", "org.hibernate.dialect.MySQL5Dialect");

    return properties;
}
更改为:

properties.setProperty("hibernate.hbm2ddl.auto", env.getProperty("hibernate.hbm2ddl.auto"));
properties.setProperty("hibernate.dialect", env.getProperty("hibernate.dialect"));

在创建脚本中,所有操作都开始正常运行

您是否将每条指令都放在一行中?是的,该脚本实际上是由HibernateAdd动物实体类生成的。您是否在使用
Spring
?谢谢!方言也是我的问题