创建在类路径资源中定义名为“ entityManagerFactory”的 bean 时出错: init 方法调用失败

在编译 Spring 项目时,我得到了以下错误。

创建在类中定义名为“ entityManagerFactory”的 bean 时出错 路径资源 [ org/springFramework/boot/autoconfigure/orm/jpa/HibernateJpaAutoConfiguration.class ] : Init 方法调用失败

我正在使用 STS Eclipse 和 MySql 数据库

Application.Properties中的连接字符串是

spring.datasource.url=jdbc:mysql://localhost:3306/stgdb
spring.datasource.username=root
spring.datasource.password=root
spring.datasource.driver-class-name=com.mysql.jdbc.Driver
spring.jpa.hibernate.ddl-auto=update

下面给出了详细的错误

=================================================


2016-10-15 15:34:38.875[0;39m [31mERROR[0;39m [35m3700[0;39m [2m---[0;39m [2m[           main][0;39m [36mo.s.boot.SpringApplication              [0;39m [2m:[0;39m Application startup failed


org.springframework.beans.factory.BeanCreationException: Error creating bean with name 'entityManagerFactory' defined in class path resource [org/springframework/boot/autoconfigure/orm/jpa/HibernateJpaAutoConfiguration.class]: Invocation of init method failed; nested exception is javax.persistence.PersistenceException: [PersistenceUnit: default] Unable to build Hibernate SessionFactory
at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.initializeBean(AbstractAutowireCapableBeanFactory.java:1583) ~[spring-beans-4.3.3.RELEASE.jar:4.3.3.RELEASE]
at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.doCreateBean(AbstractAutowireCapableBeanFactory.java:545) ~[spring-beans-4.3.3.RELEASE.jar:4.3.3.RELEASE]
at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.createBean(AbstractAutowireCapableBeanFactory.java:482) ~[spring-beans-4.3.3.RELEASE.jar:4.3.3.RELEASE]
at org.springframework.beans.factory.support.AbstractBeanFactory$1.getObject(AbstractBeanFactory.java:306) ~[spring-beans-4.3.3.RELEASE.jar:4.3.3.RELEASE]
at org.springframework.beans.factory.support.DefaultSingletonBeanRegistry.getSingleton(DefaultSingletonBeanRegistry.java:230) ~[spring-beans-4.3.3.RELEASE.jar:4.3.3.RELEASE]
at org.springframework.beans.factory.support.AbstractBeanFactory.doGetBean(AbstractBeanFactory.java:302) ~[spring-beans-4.3.3.RELEASE.jar:4.3.3.RELEASE]
at org.springframework.beans.factory.support.AbstractBeanFactory.getBean(AbstractBeanFactory.java:197) ~[spring-beans-4.3.3.RELEASE.jar:4.3.3.RELEASE]
at org.springframework.context.support.AbstractApplicationContext.getBean(AbstractApplicationContext.java:1076) ~[spring-context-4.3.3.RELEASE.jar:4.3.3.RELEASE]
at org.springframework.context.support.AbstractApplicationContext.finishBeanFactoryInitialization(AbstractApplicationContext.java:851) ~[spring-context-4.3.3.RELEASE.jar:4.3.3.RELEASE]
at org.springframework.context.support.AbstractApplicationContext.refresh(AbstractApplicationContext.java:541) ~[spring-context-4.3.3.RELEASE.jar:4.3.3.RELEASE]
at org.springframework.boot.context.embedded.EmbeddedWebApplicationContext.refresh(EmbeddedWebApplicationContext.java:122) ~[spring-boot-1.4.1.RELEASE.jar:1.4.1.RELEASE]
at org.springframework.boot.SpringApplication.refresh(SpringApplication.java:761) [spring-boot-1.4.1.RELEASE.jar:1.4.1.RELEASE]
at org.springframework.boot.SpringApplication.refreshContext(SpringApplication.java:371) [spring-boot-1.4.1.RELEASE.jar:1.4.1.RELEASE]
at org.springframework.boot.SpringApplication.run(SpringApplication.java:315) [spring-boot-1.4.1.RELEASE.jar:1.4.1.RELEASE]
at org.springframework.boot.SpringApplication.run(SpringApplication.java:1186) [spring-boot-1.4.1.RELEASE.jar:1.4.1.RELEASE]
at org.springframework.boot.SpringApplication.run(SpringApplication.java:1175) [spring-boot-1.4.1.RELEASE.jar:1.4.1.RELEASE]
at com.s2g.testrestapplication.TestRestApplication.main(TestRestApplication.java:10) [classes/:na]
Caused by: javax.persistence.PersistenceException: [PersistenceUnit: default] Unable to build Hibernate SessionFactory
at org.hibernate.jpa.boot.internal.EntityManagerFactoryBuilderImpl.persistenceException(EntityManagerFactoryBuilderImpl.java:954) ~[hibernate-entitymanager-5.0.11.Final.jar:5.0.11.Final]
at org.hibernate.jpa.boot.internal.EntityManagerFactoryBuilderImpl.build(EntityManagerFactoryBuilderImpl.java:882) ~[hibernate-entitymanager-5.0.11.Final.jar:5.0.11.Final]
at org.springframework.orm.jpa.vendor.SpringHibernateJpaPersistenceProvider.createContainerEntityManagerFactory(SpringHibernateJpaPersistenceProvider.java:60) ~[spring-orm-4.3.3.RELEASE.jar:4.3.3.RELEASE]
at org.springframework.orm.jpa.LocalContainerEntityManagerFactoryBean.createNativeEntityManagerFactory(LocalContainerEntityManagerFactoryBean.java:353) ~[spring-orm-4.3.3.RELEASE.jar:4.3.3.RELEASE]
at org.springframework.orm.jpa.AbstractEntityManagerFactoryBean.buildNativeEntityManagerFactory(AbstractEntityManagerFactoryBean.java:373) ~[spring-orm-4.3.3.RELEASE.jar:4.3.3.RELEASE]
at org.springframework.orm.jpa.AbstractEntityManagerFactoryBean.afterPropertiesSet(AbstractEntityManagerFactoryBean.java:362) ~[spring-orm-4.3.3.RELEASE.jar:4.3.3.RELEASE]
at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.invokeInitMethods(AbstractAutowireCapableBeanFactory.java:1642) ~[spring-beans-4.3.3.RELEASE.jar:4.3.3.RELEASE]
at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.initializeBean(AbstractAutowireCapableBeanFactory.java:1579) ~[spring-beans-4.3.3.RELEASE.jar:4.3.3.RELEASE]
... 16 common frames omitted
Caused by: org.hibernate.exception.GenericJDBCException: Unable to obtain JDBC Connection
at org.hibernate.exception.internal.StandardSQLExceptionConverter.convert(StandardSQLExceptionConverter.java:47) ~[hibernate-core-5.0.11.Final.jar:5.0.11.Final]
at org.hibernate.engine.jdbc.spi.SqlExceptionHelper.convert(SqlExceptionHelper.java:109) ~[hibernate-core-5.0.11.Final.jar:5.0.11.Final]
at org.hibernate.engine.jdbc.spi.SqlExceptionHelper.convert(SqlExceptionHelper.java:95) ~[hibernate-core-5.0.11.Final.jar:5.0.11.Final]
at org.hibernate.tool.schema.extract.internal.ExtractionContextImpl.getJdbcConnection(ExtractionContextImpl.java:65) ~[hibernate-core-5.0.11.Final.jar:5.0.11.Final]
at org.hibernate.tool.schema.extract.internal.ExtractionContextImpl.getJdbcDatabaseMetaData(ExtractionContextImpl.java:75) ~[hibernate-core-5.0.11.Final.jar:5.0.11.Final]
at org.hibernate.tool.schema.extract.internal.InformationExtractorJdbcDatabaseMetaDataImpl.locateTableInNamespace(InformationExtractorJdbcDatabaseMetaDataImpl.java:339) ~[hibernate-core-5.0.11.Final.jar:5.0.11.Final]
at org.hibernate.tool.schema.extract.internal.InformationExtractorJdbcDatabaseMetaDataImpl.getTable(InformationExtractorJdbcDatabaseMetaDataImpl.java:241) ~[hibernate-core-5.0.11.Final.jar:5.0.11.Final]
at org.hibernate.tool.schema.extract.internal.DatabaseInformationImpl.getTableInformation(DatabaseInformationImpl.java:105) ~[hibernate-core-5.0.11.Final.jar:5.0.11.Final]
at org.hibernate.tool.schema.internal.SchemaMigratorImpl.doMigrationToTargets(SchemaMigratorImpl.java:162) ~[hibernate-core-5.0.11.Final.jar:5.0.11.Final]
at org.hibernate.tool.schema.internal.SchemaMigratorImpl.doMigration(SchemaMigratorImpl.java:60) ~[hibernate-core-5.0.11.Final.jar:5.0.11.Final]
at org.hibernate.tool.hbm2ddl.SchemaUpdate.execute(SchemaUpdate.java:134) ~[hibernate-core-5.0.11.Final.jar:5.0.11.Final]
at org.hibernate.tool.hbm2ddl.SchemaUpdate.execute(SchemaUpdate.java:101) ~[hibernate-core-5.0.11.Final.jar:5.0.11.Final]
at org.hibernate.internal.SessionFactoryImpl.<init>(SessionFactoryImpl.java:472) ~[hibernate-core-5.0.11.Final.jar:5.0.11.Final]
at org.hibernate.boot.internal.SessionFactoryBuilderImpl.build(SessionFactoryBuilderImpl.java:444) ~[hibernate-core-5.0.11.Final.jar:5.0.11.Final]
at org.hibernate.jpa.boot.internal.EntityManagerFactoryBuilderImpl.build(EntityManagerFactoryBuilderImpl.java:879) ~[hibernate-entitymanager-5.0.11.Final.jar:5.0.11.Final]
... 22 common frames omitted
Caused by: com.atomikos.jdbc.AtomikosSQLException: Connection pool exhausted - try increasing 'maxPoolSize' and/or 'borrowConnectionTimeout' on the DataSourceBean.
at com.atomikos.jdbc.AtomikosSQLException.throwAtomikosSQLException(AtomikosSQLException.java:46) ~[transactions-jdbc-3.9.3.jar:na]
at com.atomikos.jdbc.AbstractDataSourceBean.throwAtomikosSQLException(AbstractDataSourceBean.java:90) ~[transactions-jdbc-3.9.3.jar:na]
at com.atomikos.jdbc.AbstractDataSourceBean.throwAtomikosSQLException(AbstractDataSourceBean.java:85) ~[transactions-jdbc-3.9.3.jar:na]
at com.atomikos.jdbc.AbstractDataSourceBean.getConnection(AbstractDataSourceBean.java:347) ~[transactions-jdbc-3.9.3.jar:na]
at com.atomikos.jdbc.AbstractDataSourceBean.getConnection(AbstractDataSourceBean.java:394) ~[transactions-jdbc-3.9.3.jar:na]
at org.hibernate.engine.jdbc.connections.internal.DatasourceConnectionProviderImpl.getConnection(DatasourceConnectionProviderImpl.java:122) ~[hibernate-core-5.0.11.Final.jar:5.0.11.Final]
at org.hibernate.engine.jdbc.env.internal.JdbcEnvironmentInitiator$ConnectionProviderJdbcConnectionAccess.obtainConnection(JdbcEnvironmentInitiator.java:180) ~[hibernate-core-5.0.11.Final.jar:5.0.11.Final]
at org.hibernate.tool.schema.extract.internal.ExtractionContextImpl.getJdbcConnection(ExtractionContextImpl.java:62) ~[hibernate-core-5.0.11.Final.jar:5.0.11.Final]
... 33 common frames omitted
==============================
Pom.xml file
<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
<modelVersion>4.0.0</modelVersion>


<groupId>com.s2g.testrestapplication</groupId>
<artifactId>testrestapplication</artifactId>
<version>0.0.1-SNAPSHOT</version>
<packaging>jar</packaging>


<name>TestRestApplication</name>
<description>Demo project for Spring Boot</description>


<parent>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-parent</artifactId>
<version>1.4.1.RELEASE</version>
<relativePath /> <!-- lookup parent from repository -->
</parent>


<properties>
<project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
<project.reporting.outputEncoding>UTF-8</project.reporting.outputEncoding>
<java.version>1.8</java.version>
</properties>


<dependencies>
<dependency>
<groupId>io.springfox</groupId>
<artifactId>springfox-swagger2</artifactId>
<version>2.2.2</version>
</dependency>


<dependency>
<groupId>io.springfox</groupId>
<artifactId>springfox-swagger-ui</artifactId>
<version>2.2.2</version>
</dependency>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-security</artifactId>
</dependency>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-web</artifactId>
</dependency>


<dependency>
<groupId>mysql</groupId>
<artifactId>mysql-connector-java</artifactId>
<scope>runtime</scope>
</dependency>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-test</artifactId>
<scope>test</scope>
</dependency>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-data-jpa</artifactId>
</dependency>
<dependency>
<groupId>org.opensaml</groupId>
<artifactId>opensaml-saml-api</artifactId>
<version>3.1.1</version>
</dependency>
<dependency>
<groupId>org.apache.commons</groupId>
<artifactId>commons-lang3</artifactId>
<version>3.0</version>
</dependency>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-jersey</artifactId>
</dependency>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-jta-atomikos</artifactId>
</dependency>
</dependencies>


<build>
<plugins>
<plugin>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-maven-plugin</artifactId>
</plugin>
</plugins>
</build>




</project>
755958 次浏览

我将首先添加以下依赖项:

<dependency>
<groupId>org.hibernate</groupId>
<artifactId>hibernate-core</artifactId>
<version>4.1.4.Final</version>
</dependency>

还有

<dependency>
<groupId>org.hibernate</groupId>
<artifactId>hibernate-entitymanager</artifactId>
<version>5.2.3.Final</version>
</dependency>

更新: 或者简单地添加以下依赖项。

<dependency>
<groupId>javax.xml.bind</groupId>
<artifactId>jaxb-api</artifactId>
<version>2.3.0</version>
</dependency>

尝试添加以下依赖项。

<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-data-jpa</artifactId>
</dependency>
<dependency>
<groupId>com.h2database</groupId>
<artifactId>h2</artifactId>
</dependency>

我怀疑 hibernate-corehibernate-entitymanager依赖项的 jar 文件已经损坏或者没有正确地安装在您的计算机上。

我建议你只是 从 Maven 本地存储库中删除名为 ABC0和 hibernate-entitymanager的文件夹和 Maven 将重新安装它们。

Maven 本地存储库的默认位置是 windows 中的 C:\Documents and Settings\[USERNAME]\.m2或 Linux/Mac 中的 ~/.m2

我能够通过将最大池大小值从1改为2来解决这个问题

Max-pool-size = 2

添加依赖关系并没有解决我这边的问题。

这个问题发生在我这边,因为“附加”字段是“@Entity”类的一部分,在数据库中不存在。

我从@Entity 类中删除了额外的字段,它工作了。

祝你好运。

使用 Java9的人包括这个依赖项:

<dependency>
<groupId>javax.xml.bind</groupId>
<artifactId>jaxb-api</artifactId>
<version>2.3.0</version>
</dependency>

尝试用@EnableTransactionManagement 对类进行注释。

@EnableTransactionManagement
public class ConfigurationBean {
}

我也犯过类似的错误。这个错误之前没有出现,但是最近我重新安装了 Oracle db,并将实例名从“ xe”改为“ orcl”,但是忘记在属性文件中更改这段代码:

spring.datasource.driver-class-name=oracle.jdbc.driver.OracleDriver
spring.datasource.url=jdbc:oracle:thin:@localhost:1521:***xe***
spring.datasource.username=system
spring.datasource.password=manager

一旦我把它从‘ xe’改成‘ orcl’,一切都会好起来的。

问题可能是由于包冲突造成的。 当您在实体中使用 @Id注释时,它可能使用 Spring 框架的 @Id; 但是,它必须使用持久化 API 的 @Id注释。

因此在实体中使用 @javax.persistence.Id注释。

对于那些使用 Gradle 而不是 Maven 的用户,请将下面的代码添加到构建文件中的依赖项中:

compile('javax.xml.bind:jaxb-api:2.3.0')

在我的示例中,删除以下任何注释都会导致显示错误消息“ entityManagerFactory”,例如。

 @Id
@GeneratedValue(strategy=GenerationType.AUTO)

或者

@ManyToMany(targetEntity=listOfObject_x.class)

在添加缺少的注释之后,错误消息将消失。

package mypackage_unameit;
import javax.persistence.PrePersist;
import javax.validation.constraints.NotNull;
import javax.validation.constraints.Size;


import lombok.Data;


@Data
@Entity
public class Someclasss {


@Id
@GeneratedValue(strategy=GenerationType.AUTO)
private Long id;


@NotNull
@Size(min=5, message="Name must be at least 5 characters long")
private String name;


private Date createdAt;


@ManyToMany(targetEntity=listOfObject_x.class)
@Size(min=1, message="You must choose at least 1 ingredient")
private List<listOfObject_x>   = new ArrayList<>();


@PrePersist
void createdAt() {
this.createdAt = new Date();
}
}

Use@Id.对我有用。否则我会抛出错误,这取决于您的实体类或存储库中是否缺少什么东西

如果您使用 JDK 1.8.0 _ 201或最新版本,请尝试使用旧版本的 JDK。

我对 JDK1.8.0 _ 201也有同样的问题,但是它可以在没有任何代码更改的情况下使用 JDK1.8.0 _ 101。

我通过在模型中添加可串行化的实现来解决这个问题。

@Entity
@Table(name="Model_Rest")
@IdClass(Model_Rest.class)
public class Model_Rest implements Serializable {


/**
*
*/
private static final long serialVersionUID = 1L;
/**
*
*/
//@GeneratedValue(strategy = GenerationType.AUTO)
//@Column(columnDefinition="id")


@Id
private String login;
@Id
private String password;








@Autowired
public String getLogin() {
return login;
}


@Autowired
public void setLogin(String login) {
this.login = login;
}


@Autowired
public String getPassword() {
return password;
}


@Autowired
public void setPassword(String password) {
this.password = password;
}


public Model_Rest() {
// TODO Auto-generated constructor stub
}


public Model_Rest(String login, String password) {
this.login = login;
this.password = password;
}


@Override
public String toString() {
return "Model_Rest [login=" + login + ", password=" + password + "]";
}
}

这个错误也可能与您在“ spring.datource.url”中给出错误的 db 名称有关,例如

对我来说,这是另一个错误的结果

异常: FATAL: 用户密码身份验证失败

这意味着你只需要检查一下你的认证凭证

在添加了这个依赖项之后,我的错误得到了解决。

<!-- https://mvnrepository.com/artifact/org.hibernate/hibernate-validator -->
<dependency>
<groupId>org.hibernate.validator</groupId>
<artifactId>hibernate-validator</artifactId>
<version>6.0.16.Final</version>
</dependency>

我通过将 Spring 依赖关系版本从2.0.4更新到2.1.6来解决我的问题

<parent>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-parent</artifactId>
<version>2.0.4.RELEASE</version>
<relativePath /> <!-- lookup parent from repository -->
</parent>

<parent>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-parent</artifactId>
<version>2.1.6.RELEASE</version>
<relativePath /> <!-- lookup parent from repository -->
</parent>

对于我来说,这是由于 IntellijIDEA 默认设置 Java11为默认项目 SDK,但是项目是在 Java8中实现的。 我在文件-> 项目结构-> 项目(在项目设置中)中更改了“ ProjectSDK”

我有 jdk-12.0.2. jdk,已经找到了问题的解决方案,向 pom.xml 添加依赖项:

<!-- https://mvnrepository.com/artifact/javax.xml.bind/jaxb-api -->
<dependency>
<groupId>javax.xml.bind</groupId>
<artifactId>jaxb-api</artifactId>
<version>2.3.1</version>
</dependency>
<!-- https://mvnrepository.com/artifact/org.javassist/javassist -->
<dependency>
<groupId>org.javassist</groupId>
<artifactId>javassist</artifactId>
<version>3.25.0-GA</version>
</dependency>

试试改变春天的版本。我也有同样的问题,这对我很有效

对于那些不使用 JPA 而更愿意排除 entityManagerFactory 并使用 Spring Data JDBC 或 Spring JDBC 的用户,可以排除 bean 以避免异常

@SpringBootApplication(exclude = {HibernateJpaAutoConfiguration.class})

我的 Eclipse Luna 也有同样的问题。 我发现我正在使用 JDK12和 Java 1.8。我把 JDK 改成了 JDK8,问题就解决了。 如果您想在 Eclipse 中检查 JDK,请访问

Window-> Preferences-> Java- >Installed JREs

并检查它们是否与您的项目兼容。 祝你好运!

对我来说,它是 application.properties 上数据库的名称。

我通过为另一个字段定义反向关系注释来解决我的问题

无论谁仍然有同样的问题。请在 application.properties 中添加以下一行

# The SQL dialect makes Hibernate generate better SQL for the chosen database
## I am using Mysql8 so I have declared MySQL8Dialect if you have other versions just add ## that version number
spring.jpa.properties.hibernate.dialect =  org.hibernate.dialect.MySQL8Dialect


在我的情况下,我得到了这个错误时,试图使前卫 + 春天启动2的工作。

向 proguard.conf 添加 -dontusemixedcaseclassnames可以修复这个问题。

在我们的示例中,. properties 文件中有一些额外的行,新映像不需要这些行。

Use _ second _ level _ cache = true

显然没有那个实体,它试图加载什么。

如果没有任何效果,那么我有一个解决办法 @ Access (value = AccessType.FIELD) 在使用@Entity 之后,在 model class 下添加这一行,然后在定义 id 时,在类之后添加这一行,以及在上面使用这一行的所有时间。

在我的案例中,这个问题是多方面的,与 AWS 有关:

  1. 正如@Tareq Islam 指出的那样,在 application.properties 中设置方言有所帮助:

    方言 = org.hibernate. 方言. MySQL55方言

  2. 此后的第二个问题是,由于 SSL 连接加密的更改,JDBC 无法连接到服务器。我帮忙修好了

没有适当的协议

但是我需要通过设置/etc/java-11-openjdk/security/java.security 来启用 TLS1.0

jdk.tls.disabledAlgorithms=SSLv3, RC4, DES, MD5withRSA, DH keySize < 1024, EC keySize < 224, 3DES_EDE_CBC, anon, NULL

在我的示例中,我在 application.properties 文件中将 ddl-auto 设置为 valid

Ddl-auto = valid.jpa.hibernate.ddl-auto = valid.jpa.hibernate.ddl-auto = valid

在这里,当属性 hibernate.hbm2ddl.auto 设置为验证时会出现问题。当设置为零时,一切工作正常。我认为验证器没有考虑到当主键被定义为 GENERATED BY DEFAULT AS IDENTITY 时。

在我的示例中,我在 application.properties 中添加以下代码行 ,这个问题是在 Oracle 11g 数据库驱动程序

spring.jpa.database-platform=org.hibernate.dialect.OracleDialect
Make sure you have successfully build dependent maven/gradle based project with the correct mention version. Similarly you can add the dependent project in config like below.


@Bean
@Primary
public LocalContainerEntityManagerFactoryBean entityManager() {
EntityManagerFactoryBuilder builder = new
EntityManagerFactoryBuilder(adapter, jpaProperties.getProperties(),
persistenceUnitManager);
return builder
.dataSource(dataSources()).packages("com.ABCApi.entity",
"com.PQRApi.entity", "com.XYZApi.entity")
.persistenceUnit("entityManager").build();
}

当我们映射一个列时,我们必须注意正在映射的对立列的名称,例如:

/*users*/
@OneToMany(mappedBy = "partModel")
private List<UsersModel> usersModels;




/*parts*/
@ManyToOne
private PartModel partModel;

点击这里查看 postModel。 * * *

我也有同样的问题,在我完成这个项目之后,我不明白发生了什么,因为没有对代码进行任何修改。 我意识到可能有两个进程正在运行,我停止了不需要的进程和运行的第二个进程,这解决了我无法与 DB 同步的问题。

我有两个步骤: enter image description here

添加依赖关系并没有解决我这边的问题。

这个问题发生在我这边,因为数据库 myapplication在 在 mysql 中不存在 spring.datasource.url=jdbc:mysql://localhost:3306/myapplication

我手动创建了数据库,重新启动了应用程序,它工作了。

在我的例子中,我错误地配置了模型类中的关系

请检查您的关系(一对一,一对多...)在您的模型。这可能是问题。

我面临着类似的错误,但是当我在 application.properties 中为我的 DB 选择合适的方言时 问题解决了。

我遇到了同样的问题,发现数据库模式创建不正确是一个问题。

我设法通过创建一个模式来解决这个问题。

步骤:

  • 删除数据库
  • 运行 SQL 脚本以创建架构

检查数据库关系,您可能会错过以下内容之一:

@OneToMany
@ManyToOne


etc ...

您可以尝试更改 MySql 方言。

spring.jpa.properties.hibernate.dialect = org.hibernate.dialect.MySQL5InnoDBDialect

或者

spring.jpa.properties.hibernate.dialect = org.hibernate.dialect.MySQL8Dialect

对彩球的依赖:

    <dependency>
<groupId>com.mysql</groupId>
<artifactId>mysql-connector-j</artifactId>
</dependency>