当前位置: 首页 > 知识库问答 >
问题:

组织。冬眠工具架构。spi。CommandAcceptanceException:执行DDL“创建表电影”时出错

韦星文
2023-03-14

我有一个spring boot应用程序,它在H2上运行sql以在启动期间创建数据库表。该项目位于github。

我有实体叫ovie.java

我运行的sql在github下面和上面-

DROP TABLE IF EXISTS "movie";
CREATE TABLE "movie" AS SELECT * FROM CSVREAD('classpath:movie.csv');

我插入的csv文件在这里

id,title,year,rating,genre
1,The Shawshank Redemption,1994,9.3,DRAMA
2,The godfather,1972,9.2,DRAMA
3,Pulp Fiction,1994,8.9,CRIME
4,The good the bad and the ugly,1966,8.8,WESTERN
5,Inception,2010,8.8,ACTION
6,Se7en,1995,8.6,CRIME
7,City of god,2002,8.06,CRIME
8,Django unchained,2012,8.4,WESTERN
9,Oldboy,2003,8.4,ACTION

当我运行Spring应用程序时,我得到以下错误-

在org.h2.engine.Pocal.prepare创建(Pocal.java:615)~[h2-2.1.210.jar: 2.1.210]org.h2.engine.Pocal.prepare准备(Pocal.java:553)~[h2-2.1.210.jar: 2.1.210]在org.h2.jdbc.Ponnection.prepare(Ponnection.java:1116)~[h2-2.1.210.jar: 2.1.210]在org.h2.jdbc.Parser.parse(Parser.java:644)~[h2-2.1.210.jar: 2.1.210]在org.h2.command.Parser.prepare命令(Parser.java:551)~[h2-2.1.210.jar: 2.1.210]在org.h2.command.SessionLarser.parse本地(SessionLarser.java:6779)~[h2-2.1.210.jar: 2.1.210]在org.h2.command.SessionLarser.parse命令(SessionLarser.java:746)~[h2-2.1.210.jar: 2.1.210]在org.h2.command.JdbcCarser.parse命令(JdbcCarser.java:674)~[h2-2.1.210.jar: 2.1.210]在org.h2.command.JdbcStat. java: 237)~[h2-2.1.210. jar: 2.1.210]在org. h2. jdbc. JdbcStat. java: 223)~[h2-2.1.210. jar: 2.1.210]在com. zaxxer. hikari. pool最终]...省略33个常见帧

我认为错误在于,列的顺序与SQL创建表中实体中定义的顺序不同。

create table movie (id integer not null, genre varchar(255), rating double not null, title varchar(255), [*]year integer not null, primary key (id))

知道如何纠正这个错误吗?

共有1个答案

施飞驰
2023-03-14

主要问题可能是“电影”作为表名包含"

所以这应该行得通

schema.sql:

DROP TABLE IF EXISTS movie;
CREATE TABLE movie AS SELECT * FROM CSVREAD('classpath:movie.csv');

这是一个工作的基本示例:github上的示例

示例注释

  • 模式。sql,用于初始化DB howto。数据初始化
  • <代码>Spring。jpa。冬眠ddl auto=none禁用Hibernate自动架构创建
 类似资料:
  • 所以我正在尝试将spring boot连接到MySql,所以我已经安装了sql并开始运行,我可以将我的IDE和工作台连接到它MySql Local insrance 3306 然后我用这个pom将spring boot应用程序装入箱中

  • 在这个问题中,我正在使用Hibernate 4.3.4。最终和SpringORM 4.1.2。释放。 我有一个User类,它包含这样的一组Card实例: 我有几种类型的卡,每种都分别扩展Card基类和CardInstance基类,如下所示: 如果我将UnitCardInstance或HeroCardInstance添加到cards集合并保存实体,则一切正常。但是,如果我向集合中添加AbilityC

  • 我得到以下错误消息,而运行我的项目 组织。springframework。豆。工厂UnsatisfiedPendencyException:创建名为“TipoeStatDoCivilController”的bean时出错:通过字段“TipoeStatDoCivilService”表示的未满足的依赖关系;嵌套的异常是org。springframework。豆。工厂UnsatisfiedPendenc

  • 问题内容: 我正在使用hibernate 4和spring 4为Java Web应用程序设置多租户支持。默认模式是在应用程序启动时创建和设置的。当不尝试支持多租户时,此架构可以正常工作。 现在,我需要为每个创建帐户的新租户创建一个架构。该模式可以简单地是通用模式的副本,因为它将遵循相同的格式。 如何在运行时创建与默认架构相同格式的新架构?似乎在实例化LocalSessionFactoryBean时

  • 我正在将一个应用程序从Spring 3迁移到Spring 4。特别是,我正在将其迁移到 这是与Spring 3一起使用的原始代码: 在Spring 4中,我将其更新为: 方法中的每一行都成功,并且返回行的结果不为空。但是,当方法退出时会发生异常: org.springframework.transaction.TransactionSystemException:无法提交Hibernate事务;嵌