在类路径资源中创建名称为'entityManagerFactory'的bean时出错:模式验证:缺少表[association_value_entry]

问题描述 投票:0回答:1

[当我尝试实现事件源时用Axon编译spring-boot项目时,这是我收到的错误:

org.springframework.beans.factory.BeanCreationException:创建在类路径资源[org / springframework / boot / autoconfigure / orm / jpa / HibernateJpaConfiguration.class]中定义的名称为'entityManagerFactory'的bean时出错:调用init方法失败;嵌套的异常是javax.persistence.PersistenceException:[PersistenceUnit:默认]无法构建Hibernate SessionFactory。嵌套的异常是org.hibernate.tool.schema.spi.SchemaManagementException:模式验证:缺少表[association_value_entry]

我正在使用MySQL数据库和Intellij

错误概述如下:

启动ApplicationContext时出错。要显示条件报告,请在启用“调试”的情况下重新运行您的应用程序。2020-03-14 15:43:53.035错误1719 --- [restartedMain] o.s.boot.SpringApplication:应用程序运行失败

org.springframework.beans.factory.BeanCreationException:创建在类路径资源[org / springframework / boot / autoconfigure / orm / jpa / HibernateJpaConfiguration.class]中定义的名称为'entityManagerFactory'的bean时出错:调用init方法失败;嵌套的异常是javax.persistence.PersistenceException:[PersistenceUnit:默认]无法构建Hibernate SessionFactory。嵌套的异常是org.hibernate.tool.schema.spi.SchemaManagementException:模式验证:缺少表[association_value_entry]在org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.initializeBean(AbstractAutowireCapableBeanFactory.java:1796)〜[spring-beans-5.2.4.RELEASE.jar:5.2.4.RELEASE]在org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.doCreateBean(AbstractAutowireCapableBeanFactory.java:595)〜[spring-beans-5.2.4.RELEASE.jar:5.2.4.RELEASE]在org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.createBean(AbstractAutowireCapableBeanFactory.java:517)〜[spring-beans-5.2.4.RELEASE.jar:5.2.4.RELEASE]在org.springframework.beans.factory.support.AbstractBeanFactory.lambda $ doGetBean $ 0(AbstractBeanFactory.java:323)〜[spring-beans-5.2.4.RELEASE.jar:5.2.4.RELEASE]在org.springframework.beans.factory.support.DefaultSingletonBeanRegistry.getSingleton(DefaultSingletonBeanRegistry.java:222)〜[spring-beans-5.2.4.RELEASE.jar:5.2.4.RELEASE]在org.springframework.beans.factory.support.AbstractBeanFactory.doGetBean(AbstractBeanFactory.java:321)〜[spring-beans-5.2.4.RELEASE.jar:5.2.4.RELEASE]在org.springframework.beans.factory.support.AbstractBeanFactory.getBean(AbstractBeanFactory.java:202)〜[spring-beans-5.2.4.RELEASE.jar:5.2.4.RELEASE]在org.springframework.context.support.AbstractApplicationContext.getBean(AbstractApplicationContext.java:1108)〜[spring-context-5.2.4.RELEASE.jar:5.2.4.RELEASE]在org.springframework.context.support.AbstractApplicationContext.finishBeanFactoryInitialization(AbstractApplicationContext.java:868)〜[spring-context-5.2.4.RELEASE.jar:5.2.4.RELEASE]在org.springframework.context.support.AbstractApplicationContext.refresh(AbstractApplicationContext.java:550)〜[spring-context-5.2.4.RELEASE.jar:5.2.4.RELEASE]在org.springframework.boot.web.servlet.context.ServletWebServerApplicationContext.refresh(ServletWebServerApplicationContext.java:141)〜[spring-boot-2.2.5.RELEASE.jar:2.2.5.RELEASE]在org.springframework.boot.SpringApplication.refresh(SpringApplication.java:747)〜[spring-boot-2.2.5.RELEASE.jar:2.2.5.RELEASE]在org.springframework.boot.SpringApplication.refreshContext(SpringApplication.java:397)〜[spring-boot-2.2.5.RELEASE.jar:2.2.5.RELEASE]在org.springframework.boot.SpringApplication.run(SpringApplication.java:315)〜[spring-boot-2.2.5.RELEASE.jar:2.2.5.RELEASE]在org.springframework.boot.SpringApplication.run(SpringApplication.java:1226)〜[spring-boot-2.2.5.RELEASE.jar:2.2.5.RELEASE]在org.springframework.boot.SpringApplication.run(SpringApplication.java:1215)〜[spring-boot-2.2.5.RELEASE.jar:2.2.5.RELEASE]在com.seng401.mango.MangoApplication.main(MangoApplication.java:10)〜[classes /:na]在java.base / jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(本机方法)〜[na:na]在java.base / jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)〜[na:na]在java.base / jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)〜[na:na]在java.base / java.lang.reflect.Method.invoke(Method.java:566)〜[na:na]在org.springframework.boot.devtools.restart.RestartLauncher.run(RestartLauncher.java:49)〜[spring-boot-devtools-2.2.5.RELEASE.jar:2.2.5.RELEASE]引起原因:javax.persistence.PersistenceException:[PersistenceUnit:默认]无法构建Hibernate SessionFactory;请参见参考资料。嵌套的异常是org.hibernate.tool.schema.spi.SchemaManagementException:模式验证:缺少表[association_value_entry]在org.springframework.orm.jpa.AbstractEntityManagerFactoryBean.buildNativeEntityManagerFactory(AbstractEntityManagerFactoryBean.java:403)〜[spring-orm-5.2.4.RELEASE.jar:5.2.4.RELEASE]在org.springframework.orm.jpa.AbstractEntityManagerFactoryBean.afterPropertiesSet(AbstractEntityManagerFactoryBean.java:378)〜[spring-orm-5.2.4.RELEASE.jar:5.2.4.RELEASE]在org.springframework.orm.jpa.LocalContainerEntityManagerFactoryBean.afterPropertiesSet(LocalContainerEntityManagerFactoryBean.java:341)〜[spring-orm-5.2.4.RELEASE.jar:5.2.4.RELEASE]在org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.invokeInitMethods(AbstractAutowireCapableBeanFactory.java:1855)〜[spring-beans-5.2.4.RELEASE.jar:5.2.4.RELEASE]在org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.initializeBean(AbstractAutowireCapableBeanFactory.java:1792)〜[spring-beans-5.2.4.RELEASE.jar:5.2.4.RELEASE]...省略了21个通用框架引起原因:org.hibernate.tool.schema.spi.SchemaManagementException:模式验证:缺少表[association_value_entry]在org.hibernate.tool.schema.internal.AbstractSchemaValidator.validateTable(AbstractSchemaValidator.java:121)〜[hibernate-core-5.4.12.Final.jar:5.4.12.Final]在org.hibernate.tool.schema.internal.GroupedSchemaValidatorImpl.validateTables(GroupedSchemaValidatorImpl.java:42)〜[hibernate-core-5.4.12.Final.jar:5.4.12.Final]在org.hibernate.tool.schema.internal.AbstractSchemaValidator.performValidation(AbstractSchemaValidator.java:89)〜[hibernate-core-5.4.12.Final.jar:5.4.12.Final]在org.hibernate.tool.schema.internal.AbstractSchemaValidator.doValidation(AbstractSchemaValidator.java:68)〜[hibernate-core-5.4.12.Final.jar:5.4.12.Final]在org.hibernate.tool.schema.spi.SchemaManagementToolCoordinator.performDatabaseAction(SchemaManagementToolCoordinator.java:192)〜[hibernate-core-5.4.12.Final.jar:5.4.12.Final]在org.hibernate.tool.schema.spi.SchemaManagementToolCoordinator.process(SchemaManagementToolCoordinator.java:73)〜[hibernate-core-5.4.12.Final.jar:5.4.12.Final]在org.hibernate.internal.SessionFactoryImpl。(SessionFactoryImpl.java:314)〜[hibernate-core-5.4.12.Final.jar:5.4.12.Final]在org.hibernate.boot.internal.SessionFactoryBuilderImpl.build(SessionFactoryBuilderImpl.java:468)〜[hibernate-core-5.4.12.Final.jar:5.4.12.Final]在org.hibernate.jpa.boot.internal.EntityManagerFactoryBuilderImpl.build(EntityManagerFactoryBuilderImpl.java:1237)〜[hibernate-core-5.4.12.Final.jar:5.4.12.Final]在org.springframework.orm.jpa.vendor.SpringHibernateJpaPersistenceProvider.createContainerEntityManagerFactory(SpringHibernateJpaPersistenceProvider.java:58)〜[spring-orm-5.2.4.RELEASE.jar:5.2.4.RELEASE]在org.springframework.orm.jpa.LocalContainerEntityManagerFactoryBean.createNativeEntityManagerFactory(LocalContainerEntityManagerFactoryBean.java:365)〜[spring-orm-5.2.4.RELEASE.jar:5.2.4.RELEASE]在org.springframework.orm.jpa.AbstractEntityManagerFactoryBean.buildNativeEntityManagerFactory(AbstractEntityManagerFactoryBean.java:391)〜[spring-orm-5.2.4.RELEASE.jar:5.2.4.RELEASE]...省略了25个共同的框架

[在查看其他来源时,我得出的结论是它没有丢失依赖错误。 (或者,我认为,因为我尝试添加Hibernate依赖项并最终导致另一个错误。)我最关心第一个错误结尾处的“模式验证:缺少表[association_value_entry]”。

这是什么意思?我该如何解决?

任何帮助表示赞赏!

spring-boot event-sourcing axon
1个回答
0
投票
查看您的项目/示例会有所帮助,但我假设您正在使用任何类型的数据库迁移工具(例如Flyway)。在这种情况下,您必须自己提供一个包含所有Axon表的“首次迁移”脚本。

查看Axon存储库,我可以看到这个issue,几乎和您的问题相同,并为您提供了有关所需表的特定答案:

Axon需要创建一组实体才能工作,它们是association_value_entry,saga_entry和token_entry表。
© www.soinside.com 2019 - 2024. All rights reserved.