我是靠谱客的博主 可爱衬衫,最近开发中收集的这篇文章主要介绍dbexception.java,jpa – Spring Boot 2 – H2数据库 – @SpringBootTest – org.h2.jdbc.JdbcSQLException失败:表已经存...,觉得挺不错的,现在分享给大家,希望可以做个参考。

概述

无法测试

Spring Boot& H2使用schema.sql创建表的脚本.

所以,发生的事情是我设置了以下属性:

spring.datasource.driver-class-name=org.h2.Driver

spring.datasource.initialization-mode=always

spring.datasource.username=sa

spring.datasource.password=

spring.datasource.platform=h2

spring.datasource.url=jdbc:h2:mem:city;MODE=PostgreSQL;DB_CLOSE_DELAY=-1;DB_CLOSE_ON_EXIT=FALSE

spring.jpa.database-platform=org.hibernate.dialect.H2Dialect

spring.jpa.generate-ddl=false

spring.jpa.hibernate.ddl-auto=update

spring.jpa.show-sql=true

并且,我希望使用schema.sql创建表.运行gradle bootRun时,应用程序正常工作.但是,当我使用gradle测试运行测试时,我对Repository的测试通过,但是我的服务的测试失败,说明当表已经存在时它正在尝试创建表:

提出例外:

Caused by: org.h2.jdbc.JdbcSQLException: Table "CITY" already exists;

SQL statement:

CREATE TABLE city ( id BIGINT NOT NULL, country VARCHAR(255) NOT NULL, map VARCHAR(255) NOT NULL, name VARCHAR(255) NOT NULL, state VARCHAR(2555) NOT NULL, PRIMARY KEY (id) ) [42101-196]

at org.h2.message.DbException.getJdbcSQLException(DbException.java:345)

at org.h2.message.DbException.get(DbException.java:179)

at org.h2.message.DbException.get(DbException.java:155)

at org.h2.command.ddl.CreateTable.update(CreateTable.java:117)

at org.h2.command.CommandContainer.update(CommandContainer.java:101)

at org.h2.command.Command.executeUpdate(Command.java:260)

at org.h2.jdbc.JdbcStatement.executeInternal(JdbcStatement.java:192)

at org.h2.jdbc.JdbcStatement.execute(JdbcStatement.java:164)

at com.zaxxer.hikari.pool.ProxyStatement.execute(ProxyStatement.java:95)

at com.zaxxer.hikari.pool.HikariProxyStatement.execute(HikariProxyStatement.java)

at org.springframework.jdbc.datasource.init.ScriptUtils.executeSqlScript(ScriptUtils.java:471)

... 105 more

最后

以上就是可爱衬衫为你收集整理的dbexception.java,jpa – Spring Boot 2 – H2数据库 – @SpringBootTest – org.h2.jdbc.JdbcSQLException失败:表已经存...的全部内容,希望文章能够帮你解决dbexception.java,jpa – Spring Boot 2 – H2数据库 – @SpringBootTest – org.h2.jdbc.JdbcSQLException失败:表已经存...所遇到的程序开发问题。

如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。

本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
点赞(42)

评论列表共有 0 条评论

立即
投稿
返回
顶部