Fehler beim Erstellen der Bean mit dem in der Klassenpfadressource definierten Namen 'entityManagerFactory': Der Aufruf der init-Methode ist fehlgeschlagen


114

Beim Kompilieren meines Frühlingsprojekts wurde der folgende Fehler angezeigt.

Fehler beim Erstellen der Bean mit dem Namen 'entityManagerFactory', der in der Klassenpfadressource [org / springframework / boot / autoconfigure / orm / jpa / HibernateJpaAutoConfiguration.class] definiert ist: Der Aufruf der init-Methode ist fehlgeschlagen

Ich verwende STS Eclipse und MySql Database

Meine Verbindungszeichenfolge Application.Propertiesist

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

Der detaillierte Fehler ist unten angegeben

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

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>

3
Offensichtlich war der "Fehler", den Sie erhalten haben, tatsächlich "Verursacht durch: com.atomikos.jdbc.AtomikosSQLException: Verbindungspool erschöpft - versuchen Sie, 'maxPoolSize' und / oder'kreditConnectionTimeout 'in der DataSourceBean zu erhöhen."
Neil Stockton

Antworten:


78

Ich würde damit beginnen, die folgende Abhängigkeit hinzuzufügen:

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

und

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

UPDATE : Oder fügen Sie einfach die folgende Abhängigkeit hinzu.

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

32
@ georges-van Ich habe den gleichen Fehler festgestellt, und die 2 Abhängigkeiten, die Sie erwähnt haben, sind bereits vorhanden. spring-boot-starter-data-jpaIch erhalte den folgenden Fehler. anotepad.com/notes/wpjr5g

@georgesvan Ich habe bereits die oben genannten Gläser, die Sie erwähnt haben, aus Spring Boot importiert. Was du denkst, kann der Grund für genau diesen Fehler sein. Ich habe genau das gleiche Problem, wenn ich Abhängigkeiten im Ruhezustand hinzufüge. Wenn ich Java-Dateien aus dem Paket javax.persistence verwende, ist alles in Ordnung, aber wenn ich Java-Dateien aus dem Paket org.hibernate verwende, tritt genau der gleiche Fehler auf.
user641887

1
Verwenden Sie einfach die gleichen Versionen, die in der Post erwähnt wurden.
Shahab A

4
@georges, thevikasdube verwendet bereits die Spring-Boot-Starter-Data-JPA-Abhängigkeit, die Hibernate enthält. Gibt es einen Grund, warum er Abhängigkeiten im Ruhezustand explizit einbeziehen sollte?
Mav55

6
Zu Ihrer Information hibernate-entitymanagerist jetzt veraltet. Verwenden Sie hibernate-corestattdessen (nur) .
Böhmisch

73

Personen, die Java 9 verwenden, haben folgende Abhängigkeit: -

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

4
Für diejenigen, die daran interessiert sind, warum Versionen nach Java 8 diese explizite Aufnahme erfordern, gibt es hier einen interessanten Artikel. baeldung.com/java-9-jaxbexception , im Wesentlichen im Zusammenhang mit der Einführung des modularen Systems in Java 9 und dem Versuch, alle nicht wesentlichen
Bibliotheken zu verkleinern

Anscheinend hat er diesen Artikel hinzugefügt, als etwas zu viele Leute diesen Fehler bekamen ... cooler Artikel.
Rahul Jangra

Dies hat bei mir funktioniert, obwohl ich Java 8 verwende, danke.
Ahmetcetin

Was könnte das für Gradle sein?
FlexEast

18

Das Hinzufügen von Abhängigkeiten hat das Problem an meinem Ende nicht behoben.

Das Problem trat an meinem Ende aufgrund von "zusätzlichen" Feldern auf, die Teil der Klasse "@Entity" sind und nicht in der Datenbank vorhanden sind.

Ich habe die zusätzlichen Felder aus der @ Entity-Klasse entfernt und es hat funktioniert.

Viel Glück.


1
Was meinst du mit zusätzlichen Feldern? Könnten Sie hierzu weitere Informationen geben? Ich habe jetzt das gleiche Problem
Bandham Manikanta

Ich meinte zusätzliche Eigenschaften, die nicht in der Datenbank vorhanden sind, wie private / öffentliche Ganzzahlen
usw.

Hat funktioniert.! In meiner Entity-Klasse gab es zwei Konstruktoren (arg, no-arg). Ich habe diese entfernt und es hat funktioniert. Danke @JAD. fröhliche Codierung.
Bandham Manikanta

Ja, dieses Problem kann mit einem Problem in einer der Entitätsklassen zusammenhängen.
Zee

Hat funktioniert! Der Fehler war kein Abhängigkeits- oder Entitätsmanager-Konfigurationsproblem. Das Problem war das meiner Entitätsklasse. Nachdem ich meine Entitätsklassen mit Hilfe des Persistenzmanagers erstellt habe, ist das Problem behoben. Vielen Dank.
Peter

9

Ich stand auch vor dem gleichen Problem. Ich habe Java9 verwendet und folgende Abhängigkeit in der POM-Datei:

<dependencies>
    <dependency>
        <groupId>org.springframework.boot</groupId>
        <artifactId>spring-boot-starter-data-jpa</artifactId>
    </dependency>
    <dependency>
        <groupId>org.springframework.boot</groupId>
        <artifactId>spring-boot-starter-jdbc</artifactId>
    </dependency>
    <dependency>
        <groupId>org.springframework.boot</groupId>
        <artifactId>spring-boot-starter-web</artifactId>
    </dependency>
    <dependency>
        <groupId>com.h2database</groupId>
        <artifactId>h2</artifactId>
        <scope>runtime</scope>
    </dependency>
    <dependency>
        <groupId>org.springframework.boot</groupId>
        <artifactId>spring-boot-starter-test</artifactId>
        <scope>test</scope>
    </dependency>
</dependencies>

Das Problem wurde behoben, nachdem die folgende Abhängigkeit in pom hinzugefügt wurde:

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

8
Dies ist ein Duplikat von Rahul Jangras Antwort: stackoverflow.com/a/49707331/636009
David Conrad

7

Ich vermute, dass die JAR-Dateien hibernate-coreund hibernate-entitymanagerAbhängigkeiten beschädigt sind oder nicht ordnungsgemäß auf Ihrem Computer installiert wurden.

Ich schlage vor, dass Sie nur die genannten Ordner hibernate-coreund hibernate-entitymanageraus Ihrem lokalen Maven-Repository löschen und Maven sie neu installiert.

Der Standardspeicherort für das lokale Maven-Repository befindet sich C:\Documents and Settings\[USERNAME]\.m2in Windows oder ~/.m2unter Linux / Mac.


Es hat bei mir funktioniert, ich hatte die Spring Boot-Version von 1.5 auf 2.3 aktualisiert und bekam diesen Fehler.
Ali786

Ich habe mein vollständiges Repository gelöscht und es funktioniert. Es hat diesen und viele andere Fehler mit Spring Boot
behoben

5

In meinem Fall wird beim Löschen einer der folgenden Anmerkungen beispielsweise die Fehlermeldung 'entityManagerFactory' angezeigt.

 @Id
  @GeneratedValue(strategy=GenerationType.AUTO)

oder

@ManyToMany(targetEntity=listOfObject_x.class)

Die Fehlermeldung verschwindet nach dem Hinzufügen der fehlenden Anmerkung (en).

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();
  }
}

5

Ich habe jdk-12.0.2.jdk, habe eine Lösung für das Problem gefunden, füge Abhängigkeiten zu pom.xml hinzu:

<!-- 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>

1
Vielen Dank, ich verwende auch JDK 12 und dies ist die einzige, die für mich funktioniert.
AnT

Kann jemand erklären, warum das Hinzufügen dieser Abhängigkeiten den Fehler für einige von uns behoben hat?
Keegs

4

Fügen Sie für diejenigen, die Gradle anstelle von Maven verwenden, dies zu den Abhängigkeiten in Ihrer Build-Datei hinzu:

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

3

Ich habe meine Probleme gelöst, indem ich die Versionen der Frühlingsabhängigkeiten von 2.0.4 auf 2.1.6 aktualisiert habe

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

zu

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

Ich habe alle oben genannten Lösungen ausprobiert, aber nur das funktioniert bei mir! Rette meinen Tag !!!
Harriet.O

2

In meinem Fall lag es an Intellij IDEA, Java 11 standardmäßig als Standard-Projekt-SDK festzulegen, aber das Projekt wurde in Java 8 implementiert. Ich habe "Projekt-SDK" in Datei -> Projektstruktur -> Projekt (in den Projekteinstellungen) geändert.


Dies war auch mein Problem, wenn Sie versuchen, ein altes Projekt zu öffnen, das Java8 mit neu heruntergeladenem IntellijIDEA verwendet, ist dies die Lösung.
fakturk

Für die Installation von Java8 unter macOS - Brew Cask installieren Sie adoptopenjdk / openjdk / adoptopenjdk8
fakturk

2

Für diejenigen, die JPA nicht verwenden und stattdessen die entityManagerFactory ausschließen und Spring Data JDBC verwenden möchten, kann Spring JDBC die Bean ausschließen, um die Ausnahme zu vermeiden

@SpringBootApplication(exclude = {HibernateJpaAutoConfiguration.class})

1

Ich konnte das Problem beheben, indem ich den Wert für die maximale Poolgröße von eins auf zwei änderte

spring.datasource.hikari.maximum-pool-size = 2


1

Versuchen Sie, die Klasse mit @EnableTransactionManagement zu kommentieren. Ich hatte das gleiche Problem und es wurde durch Hinzufügen dieses Problems behoben.

@EnableTransactionManagement
public class ConfigurationBean {
}

1

Ich habe dieses Problem durch Hinzufügen von im Modell serialisierbaren Implementierungen behoben.

@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 + "]";
    }
  }

1

Dieser Fehler kann auch damit zusammenhängen, dass Sie einen Fehler in Ihrer "spring.datasource.url" haben, wenn Sie beispielsweise einen falschen Datenbanknamen angegeben haben


0

Verwenden Sie @Id. Für mich gearbeitet. Andernfalls wird ein Fehler ausgegeben. Dies hängt davon ab, ob in Ihrer Entitätsklasse oder Ihrem Repository etwas fehlt


0

Wenn Sie JDK 1.8.0_201 oder die neueste Version verwenden, versuchen Sie es mit einem älteren JDK.

Ich habe das gleiche Problem mit JDK1.8.0_201, aber es funktioniert mit JDK1.8.0_101 ohne Codeänderung.


0

Für mich war es das Ergebnis eines weiteren Fehlers

org.postgresql.util.PSQLException: FATAL: Kennwortauthentifizierung für Benutzer fehlgeschlagen

Das heißt, Sie müssen nur Ihre Authentifizierungsdaten überprüfen


0

Mein Fehler wurde nach dem Hinzufügen dieser Abhängigkeit behoben.

<!-- 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>

0

Versuchen Sie, die Federversion zu ändern. Ich hatte das gleiche Problem und das hat bei mir funktioniert


0

Ich hatte das gleiche Problem mit meiner Eclipse Luna. Ich finde heraus, dass ich JDK12 und Java 1.8 verwende. Ich habe JDK in JDK8 geändert und das Problem wurde gelöst. Wenn Sie Ihr JDK in Eclipse überprüfen möchten, gehen Sie zu

Window-> Preferences-> Java- >Installed JREs 

und prüfen Sie, ob sie mit Ihrem Projekt kompatibel sind. Viel Glück!


0

Für mich war es der Name der Datenbank auf application.properties. Als ich den richtigen Namen angegeben habe, hat es funktioniert.


0

Ich habe meine durch Definieren einer Annotation für umgekehrte Beziehungen für ein zusätzliches Feld gelöst


0

Wer hat noch das gleiche Problem. Bitte fügen Sie die folgende Zeile in application.properties hinzu

# 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

-1

Ich habe einen ähnlichen Fehler durchlaufen. Der Fehler trat nicht früher auf, aber kürzlich habe ich meine Oracle-Datenbank neu installiert und den Instanznamen von 'xe' in 'orcl' geändert. Vergessen Sie jedoch, diesen Code in der Eigenschaftendatei zu ändern:

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

Sobald ich es von 'xe' in 'orcl' ändere, ist alles in Ordnung.


-1

Das Problem könnte an Paketkonflikten liegen. Wenn Sie @Idin einer Entität Anmerkungen verwenden, wird möglicherweise das @Idof Spring-Framework verwendet. Es muss jedoch eine @IdAnnotation der Persistenz-API verwendet werden.

Verwenden Sie also @javax.persistence.IdAnmerkungen in Entitäten.


Wenn Sie auf eine Klasse zugreifen, verweist sie per Import auf die bestimmte Klasse mit der Paketreferenz. Wenn Sie dies tun, handelt es sich um einen Fehler bei der Kompilierung, der bei jedem Vorgang überhaupt erst abgefangen wird. Es besteht also keine Möglichkeit, einen Konflikt mit @Id mit JPA und Spring zu haben.
Imam Bux

Ich bin nicht sicher, welche Frage dies zu beantworten versucht, aber es ist nicht diese Frage. Wenn Sie mit @Id kommentiert haben (oder nicht), wird kein Fehler-Stacktrace angezeigt, der
Mark Rotteveel

-2

Versuchen Sie, die folgenden Abhängigkeiten hinzuzufügen.

<dependency>
   <groupId>org.springframework.boot</groupId>
   <artifactId>spring-boot-starter-data-jpa</artifactId>
</dependency>
<dependency>
   <groupId>com.h2database</groupId>
   <artifactId>h2</artifactId>
</dependency> 
Durch die Nutzung unserer Website bestätigen Sie, dass Sie unsere Cookie-Richtlinie und Datenschutzrichtlinie gelesen und verstanden haben.
Licensed under cc by-sa 3.0 with attribution required.