Errore durante la creazione del bean con il nome "entityManagerFactory" definito nella risorsa del percorso di classe: invocazione del metodo di inizializzazione non riuscita


115

Quando compilo il mio progetto primaverile, ho ricevuto il seguente errore.

Errore durante la creazione del bean con il nome "entityManagerFactory" definito nella risorsa del percorso di classe [org / springframework / boot / autoconfigure / orm / jpa / HibernateJpaAutoConfiguration.class]: richiamo del metodo init non riuscito

Sto usando STS Eclipse e MySql Database

La mia stringa di connessione in 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

L'errore dettagliato è fornito di seguito

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

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
Chiaramente l '"errore" che hai ricevuto era in realtà "Caused by: com.atomikos.jdbc.AtomikosSQLException: pool di connessioni esaurito - prova ad aumentare' maxPoolSize 'e / o' prestitoConnectionTimeout 'su DataSourceBean."
Neil Stockton

Risposte:


78

Comincerei aggiungendo la seguente dipendenza:

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

e

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

AGGIORNAMENTO : oppure aggiungi semplicemente la seguente dipendenza.

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

33
@ georges-van Ho riscontrato lo stesso errore e le 2 dipendenze che hai menzionato sono già presenti in spring-boot-starter-data-jpaottengo il seguente errore. anotepad.com/notes/wpjr5g

@georgesvan ho già i vasi sopra menzionati importati dallo stivale primaverile. Quello che pensi possa essere la ragione di questo identico errore. Devo affrontare lo stesso identico problema quando aggiungo eventuali dipendenze correlate all'ibernazione. Quando uso i file java dal pacchetto javax.persistence va tutto bene, ma quando uso qualsiasi file java dal pacchetto org.hibernate viene visualizzato esattamente lo stesso errore.
user641887

1
Usa le stesse versioni menzionate nel post.
Shahab A

4
@georges, thevikasdube sta già usando la dipendenza spring-boot-starter-data-jpa che include Hibernate. Qualche motivo per cui dovrebbe includere esplicitamente le dipendenze di ibernazione ??
Mav55

6
FYI hibernate-entitymanagerè ora deprecato. Usa (solo) hibernate-coreinvece.
Bohemian

74

Le persone che usano java 9 includono questa dipendenza: -

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

4
Per coloro interessati al motivo per cui le versioni successive a Java 8 richiedono questa inclusione esplicita, c'è un articolo interessante qui; baeldung.com/java-9-jaxbexception , fondamentalmente è correlato all'introduzione di Java 9 del sistema modulare e al tentativo di snellire tutte le librerie che non sono essenziali ...
Opentuned

Questo ha funzionato per me anche se sto usando Java 8, grazie.
ahmetcetin

Cosa potrebbe essere questo per Gradle?
FlexEast

Questo ha risolto; y problema, grazie
bileleleuch

18

L'aggiunta di dipendenze non ha risolto il problema da parte mia.

Il problema stava accadendo da parte mia a causa di campi "aggiuntivi" che fanno parte della classe "@Entity" e non esistono nel database.

Ho rimosso i campi aggiuntivi dalla classe @Entity e ha funzionato.

In bocca al lupo.


1
Cosa intendi per campi aggiuntivi ?? Potresti dare maggiori informazioni su questo.? Ho lo stesso problema ora
Bandham Manikanta

Intendevo proprietà aggiuntive che non esistono nel database, come interi privati ​​/ pubblici ..
ecc

Lavorato.! Nella mia classe Entity, c'erano due costruttori (arg, no-arg)., Li ho rimossi e ha funzionato. Grazie @ JAD. codifica felice.
Bandham Manikanta

Sì, questo problema può essere correlato a un problema in una qualsiasi delle classi di entità.
zee

Lavorato! L'errore non era una dipendenza o un problema di configurazione del gestore entità. Il problema era quello della mia classe di entità. Dopo aver creato le mie classi di entità con l'aiuto del gestore di persistenza, il problema è stato risolto. Grazie.
Peter

9

Ho anche affrontato lo stesso problema. Stavo usando Java9 e seguendo la dipendenza nel file pom:

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

Il problema è stato risolto dopo aver aggiunto sotto la dipendenza in pom:

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

8
Questo è un duplicato della risposta di Rahul Jangra: stackoverflow.com/a/49707331/636009
David Conrad

7

Sospetto che i file jar di hibernate-coreehibernate-entitymanager dipendenze siano danneggiati o non siano stati installati correttamente sulla tua macchina.

Ti suggerisco di eliminare le cartelle denominate hibernate-coree hibernate-entitymanagerdal tuo repository locale di Maven e Maven le reinstallerà.

La posizione predefinita per il repository locale Maven è C:\Documents and Settings\[USERNAME]\.m2in Windows o ~/.m2in Linux / Mac.


Ha funzionato per me, avevo aggiornato la versione di avvio primaverile da 1.5 a 2.3 e stavo ottenendo questo errore.
Ali786

Ho cancellato il mio intero repository e funziona. Ha risolto questo e molti altri errori con lo stivale a molla
Eduardo Pascual Aseff

5

Nel mio caso, l'eliminazione di una qualsiasi delle annotazioni seguenti causa la visualizzazione del messaggio di errore "entityManagerFactory", ad esempio.

 @Id
  @GeneratedValue(strategy=GenerationType.AUTO)

o

@ManyToMany(targetEntity=listOfObject_x.class)

Il messaggio di errore scompare dopo aver aggiunto le annotazioni mancanti.

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

Ho jdk-12.0.2.jdk, ho trovato la soluzione al problema, ho aggiunto le dipendenze a 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>

1
Grazie, anche io uso JDK 12 e questo è l'unico che funziona per me.
AnT

Qualcuno può spiegare perché l'aggiunta di queste dipendenze ha risolto l'errore per alcuni di noi?
Keegs

4

Per coloro che usano Gradle invece di Maven, aggiungilo alle dipendenze nel tuo file di build:

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

3

Ho risolto il mio aggiornando le versioni delle dipendenze primaverili dalla 2.0.4 alla 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>

per

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

Ho provato tutte le soluzioni di cui sopra, ma solo questo funziona per me! Salvami la giornata !!!
Harriet.O

2

Nel mio caso era dovuto a Intellij IDEA che per impostazione predefinita impostava Java 11 come SDK di progetto predefinito, ma il progetto è stato implementato in Java 8. Ho cambiato "Project SDK" in File -> Struttura del progetto -> Progetto (in Impostazioni progetto)


Questo era anche un mio problema, quando provi ad aprire un vecchio progetto che utilizza Java8 con il nuovo IntellijIDEA scaricato questa è la soluzione.
fakturk

Per l'installazione di Java8 su macOS - brew cask install adoptopenjdk / openjdk / adoptopenjdk8
fakturk

2

Per coloro che non utilizzano JPA e preferiscono invece escludere entityManagerFactory e utilizzare Spring Data JDBC o Spring JDBC possono escludere il bean per evitare l'eccezione

@SpringBootApplication(exclude = {HibernateJpaAutoConfiguration.class})

1

Sono stato in grado di risolvere il problema modificando il valore della dimensione massima del pool da uno a due

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


1

Prova ad annotare la classe con @EnableTransactionManagement. Stavo affrontando lo stesso problema e è stato risolto aggiungendo questo.

@EnableTransactionManagement
public class ConfigurationBean {
}

1

Ho risolto questo problema aggiungendo gli attrezzi Serializable nel modello.

@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

Questo errore può anche essere correlato al fatto che hai un errore nel tuo "spring.datasource.url" quando ad esempio hai dato un nome db sbagliato


0

usa @Id .Lavorato per me. Altrimenti lancerò un errore. Dipende da se manca qualcosa nella tua classe di entità o repository


0

Se usi JDK 1.8.0_201 o più recente, provalo con il vecchio JDK.

Ho lo stesso problema con JDK1.8.0_201, tuttavia funziona con JDK1.8.0_101 senza alcuna modifica al codice.


0

Per me è stato il risultato di un altro errore

org.postgresql.util.PSQLException: FATAL: l'autenticazione della password non è riuscita per l'utente

Ciò significa che devi solo rivedere le tue credenziali di autenticazione


0

Il mio errore è stato risolto dopo aver aggiunto questa dipendenza.

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

Prova a cambiare la versione primaverile. Ho avuto lo stesso problema e ha funzionato per me


0

Ho avuto lo stesso problema sul mio Eclipse Luna. Ho scoperto che sto usando JDK12 e Java 1.8. Ho cambiato JDK in JDK8 e il problema è stato risolto. Se vuoi controllare il tuo JDK in Eclipse vai a

Window-> Preferences-> Java- >Installed JREs 

e controlla se sono compatibili con il tuo progetto. In bocca al lupo!


0

Per me era il nome del database su application.properties. Quando ho fornito il nome corretto, ha funzionato bene.


0

Ho risolto il mio definendo l'annotazione di relazione inversa per un campo aggiuntivo


0

Chi ha ancora lo stesso problema. Si prega di aggiungere la seguente riga in 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

-1

Ho subito un errore simile. L'errore non era arrivato prima, ma di recente ho reinstallato il mio Oracle db e ho cambiato il nome dell'istanza da "xe" a "orcl", ma dimentico di cambiare questo pezzo di codice nel file delle proprietà:

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

Una volta cambiato da "xe" a "orcl", tutto va bene.


-1

Il problema potrebbe essere dovuto a conflitti di pacchetto. Quando usi l' @Idannotazione in un'entità, potrebbe usare il @Idframework di Spring; tuttavia, deve usare@Id annotazione dell'API di persistenza.

Quindi usa l' @javax.persistence.Idannotazione nelle entità.


Se accedi alla classe, si fa riferimento alla classe specifica con il riferimento al pacchetto tramite importazione. Se lo fai, è un errore in fase di compilazione e viene rilevato durante qualsiasi processo in primo luogo. Quindi, non c'è alcuna possibilità di avere conflitti con @Id con JPA e Spring.
Imam Bux

Non sono sicuro a quale domanda cerchi di rispondere, ma non è questa domanda. Avere annotato (o meno) con @Id non comporterà un errore di stacktrace che dice "Pool di connessioni esaurito - prova ad aumentare 'maxPoolSize' e / o 'prestitoConnectionTimeout' su DataSourceBean."
Mark Rotteveel

-2

Prova ad aggiungere le seguenti dipendenze.

<dependency>
   <groupId>org.springframework.boot</groupId>
   <artifactId>spring-boot-starter-data-jpa</artifactId>
</dependency>
<dependency>
   <groupId>com.h2database</groupId>
   <artifactId>h2</artifactId>
</dependency> 
Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.