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>
thevikasdube
quelle
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>
caketestico
quelle
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>
Rahul Jangra
quelle
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.

JAD
quelle
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>
GG
quelle
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.

Hesham Usama
quelle
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();
  }
}
zee
quelle
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>
Diego Santa Cruz Mendezú
quelle
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')
smo0f
quelle
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>
Soscler
quelle
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.

Daniyar
quelle
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})
Mohammad Javed
quelle
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

user3743729
quelle
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 {
}
VaibhavD
quelle
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 + "]";
    }
  }
Kashyap Neeraj
quelle
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

G. Adnane
quelle
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

Raj Kumar Mishra
quelle
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.

Sin2
quelle
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

Tanel
quelle
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>
Lilie
quelle
0

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

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

Andrew
quelle
0

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

Poçi
quelle
0

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

Anirudh Khanna
quelle
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
Tareq Islam
quelle
-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.

RBuser2769569
quelle
-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.

oruc
quelle
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> 
Pranay Vikram
quelle