我正在使用Hibernate和PostgreSQL。我有一个在创建/验证模式后Hibernate执行的import.sql文件。它在MariaDB下运行,但在PostgreSQL下它不是。创建表和约束,但不导入数据。以下是重复出错的示例:
20:24:00,034 ERROR [org.hibernate.tool.hbm2ddl.SchemaExport] (ServerService Thread Pool -- 119) HHH000388: Unsuccessful: INSERT INTO jcat.Student (id,childcare,birthdate,name,class_id)
VALUES (1,
FALSE,
"1992-09-15",
"Douglas",
1)
20:24:00,034 ERROR [org.hibernate.tool.hbm2ddl.SchemaExport] (ServerService Thread Pool -- 119) ERROR: column "1992-09-15" does not exist
它发生在每个插入语句中。我不知道单引号或双引号是否可以互换,但我尝试在我的导入文件中同时使用它们并且都没有工作。错误日志显示单引号转换为双引号(如上所示)。也许有一个我不知道的Hibernate属性?
软件版本是PostgreSQL 9.5和Wildfly 9,提供了Hibernate(很可能是4)。
答案 0 :(得分:0)
我通过将Hibernate从4.3更新到5.1.0.Final解决了我的问题。我在尝试导入我的SQL文件时遇到additional error,但我通过从我的Maven依赖项中删除antlr来修复它,如下所示:
<dependency>
<groupId>org.hibernate</groupId>
<artifactId>hibernate-core</artifactId>
<version>5.1.0.Final</version>
<exclusions>
<exclusion>
<groupId>antlr</groupId>
<artifactId>antlr</artifactId>
</exclusion>
</exclusions>
</dependency>