gpt4 book ai didi

Spring boot Embedded Derby 在最新版本中不起作用。

转载 作者:行者123 更新时间:2023-12-02 09:45:48 30 4
gpt4 key购买 nike

我之前在 Spring Boot 项目中使用过嵌入式 derby。但是现在当我通过具有 derby 依赖项的 Spring Initializr 创建项目时。我收到以下错误:
架构“SA”不存在
其次是 org.hibernate.tool.schema.spi.CommandAcceptanceException:通过 JDBC 语句执行 DDL 时出错

当我尝试运行我创建的早期项目时,Derby 工作得很好。
PFB 早期项目的控制台:

2018-03-18 15:34:44.346 INFO 16560 --- [ restartedMain] org.hibernate.cfg.Environment : HHH000021: Bytecode provider name : javassist 2018-03-18 15:34:44.391 INFO 16560 --- [ restartedMain] o.hibernate.annotations.common.Version : HCANN000001: Hibernate Commons Annotations {5.0.1.Final} 2018-03-18 15:34:44.490 **INFO 16560 --- [ restartedMain] org.hibernate.dialect.Dialect
: HHH000400: Using dialect: org.hibernate.dialect.DerbyDialect 2018-03-18 15:34:44.497 WARN 16560 --- [ restartedMain] org.hibernate.dialect.DerbyDialect : HHH000430: The DerbyDialect dialect has been deprecated; use one of the version-specific dialects ** instead 2018-03-18 15:34:45.094 INFO 16560 --- [ restartedMain] org.hibernate.tool.hbm2ddl.SchemaExport : HHH000227: Running hbm2ddl schema export 2018-03-18 15:34:45.099 ERROR 16560 --- [ restartedMain] org.hibernate.tool.hbm2ddl.SchemaExport : HHH000389: Unsuccessful: drop table book 2018-03-18 15:34:45.099 ERROR 16560 --- [ restartedMain] org.hibernate.tool.hbm2ddl.SchemaExport : Schema 'SA' does not exist 2018-03-18 15:34:45.129 WARN 16560 --- [ restartedMain] o.h.engine.jdbc.spi.SqlExceptionHelper : SQL Warning Code: 10000, SQLState: 01J01 2018-03-18 15:34:45.129 WARN 16560 --- [ restartedMain] o.h.engine.jdbc.spi.SqlExceptionHelper : Database 'memory:testdb' not created, connection made to existing database instead. 2018-03-18 15:34:45.129 INFO 16560 --- [ restartedMain] org.hibernate.tool.hbm2ddl.SchemaExport : HHH000230: Schema export complete 2018-03-18 15:34:45.152 INFO 16560 --- [ restartedMain] j.LocalContainerEntityManagerFactoryBean : Initialized JPA EntityManagerFactory for persistence unit 'default'



我当前带有嵌入式 derby 的 Spring Boot 的控制台日志:

2018-03-18 15:42:23.234 INFO 11312 --- [ main] com.zaxxer.hikari.HikariDataSource : HikariPool-1 - Starting... 2018-03-18 15:42:23.237 WARN 11312 --- [ main] **com.zaxxer.hikari.util.DriverDataSource : Registered driver with driverClassName=org.apache.derby.jdbc.EmbeddedDriver was not found, trying direct instantiation. 2018-03-18 15:42:23.844 INFO 11312 --- [ ** main] com.zaxxer.hikari.pool.PoolBase : HikariPool-1 - Driver does not support get/set network timeout for connections. (Feature not implemented: No details.) 2018-03-18 15:42:23.847 INFO 11312 --- [
main] com.zaxxer.hikari.HikariDataSource : HikariPool-1 - Start completed. 2018-03-18 15:42:23.937 INFO 11312 --- [ main] j.LocalContainerEntityManagerFactoryBean : Building JPA container EntityManagerFactory for persistence unit 'default' 2018-03-18 15:42:23.969 INFO 11312 --- [ main] o.hibernate.jpa.internal.util.LogHelper : HHH000204: Processing PersistenceUnitInfo [ name: default ...] 2018-03-18 15:42:24.136 INFO 11312 --- [ main] org.hibernate.Version
: HHH000412: Hibernate Core {5.2.14.Final} 2018-03-18 15:42:24.138 INFO 11312 --- [ main] org.hibernate.cfg.Environment
: HHH000206: hibernate.properties not found 2018-03-18 15:42:24.199 INFO 11312 --- [ main] o.hibernate.annotations.common.Version : HCANN000001: Hibernate Commons Annotations {5.0.1.Final} 2018-03-18 15:42:24.380 INFO 11312 --- [ main] org.hibernate.dialect.Dialect : HHH000400: Using dialect: org.hibernate.dialect.DerbyTenSevenDialect 2018-03-18 15:42:25.572 WARN 11312 --- [ main] o.h.t.s.i.ExceptionHandlerLoggedImpl : GenerationTarget encountered exception accepting command : Error executing DDL via JDBC Statement

org.hibernate.tool.schema.spi.CommandAcceptanceException: Error executing DDL via JDBC Statement at org.hibernate.tool.schema.internal.exec.GenerationTargetToDatabase.accept(GenerationTargetToDatabase.java:67) ~[hibernate-core-5.2.14.Final.jar:5.2.14.Final] at org.hibernate.tool.schema.internal.SchemaDropperImpl.applySqlString(SchemaDropperImpl.java:375) [hibernate-core-5.2.14.Final.jar:5.2.14.Final]



我可以发现两者之间的区别在于,在当前日志(abv log)中,它表示
com.zaxxer.hikari.util.DriverDataSource :注册驱动程序
driverClassName=org.apache.derby.jdbc.EmbeddedDriver 未找到,
尝试直接实例化。


让我知道我们是否需要配置除以下依赖项之外的其他内容来启用此 derby。注意 - 除了上一个项目中的 maven 依赖之外,我不会做任何事情。

Maven 依赖:
<dependency>
<groupId>org.apache.derby</groupId>
<artifactId>derby</artifactId>
<scope>runtime</scope>
</dependency>

最佳答案

请根据您的要求配置您的 JPA 配置。我已经配置如下。您需要在 application.properties 文件中添加以下配置。

# PROFILES
spring.profiles.active=dev
# JPA (JpaBaseConfiguration, HibernateJpaAutoConfiguration)
spring.jpa.generate-ddl=true
spring.jpa.hibernate.ddl-auto=update
spring.jpa.database=default
spring.jpa.show-sql=true
# DATASOURCE (DataSourceAutoConfiguration & DataSourceProperties)
spring.datasource.continue-on-error=false
spring.datasource.generate-unique-name=false

关于Spring boot Embedded Derby 在最新版本中不起作用。,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/49347019/

30 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com