Błąd podczas tworzenia komponentu bean o nazwie „entityManagerFactory” zdefiniowanej w zasobie ścieżki klasy: wywołanie metody init nie powiodło się

115

Podczas kompilacji wiosennego projektu otrzymałem następujący błąd.

Błąd podczas tworzenia komponentu bean o nazwie „entityManagerFactory” zdefiniowanej w zasobie ścieżki klasy [org / springframework / boot / autoconfigure / orm / jpa / HibernateJpaAutoConfiguration.class]: wywołanie metody init nie powiodło się

Używam STS Eclipse i MySql Database

Moje parametry połączenia Application.Propertiesto

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

Szczegółowy błąd podano poniżej

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

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
źródło
3
Najwyraźniej otrzymany „błąd” był w rzeczywistości „spowodowany przez: com.atomikos.jdbc.AtomikosSQLException: pula połączeń wyczerpana - spróbuj zwiększyć wartość„ maxPoolSize ”i / lub„ borrowConnectionTimeout ”w DataSourceBean.”
Neil Stockton,

Odpowiedzi:

78

Zacząłbym od dodania następującej zależności:

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

i

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

AKTUALIZACJA : Lub po prostu dodaj następującą zależność.

<dependency>
        <groupId>javax.xml.bind</groupId>
        <artifactId>jaxb-api</artifactId>
        <version>2.3.0</version>
</dependency>
caketestico
źródło
33
@ georges-van Napotkałem ten sam błąd, a 2 zależności, o których wspomniałeś, są już obecne spring-boot-starter-data-jpa, pojawia się następujący błąd. anotepad.com/notes/wpjr5g
@georgesvan Mam już powyższe słoiki, o których wspomniałeś, importowane z buta sprężynowego. To, co myślisz, może być przyczyną dokładnie tego samego błędu. Napotykam dokładnie ten sam problem, gdy dodaję zależności związane z hibernacją. Kiedy używam plików java z pakietu javax.persistence, wszystko jest w porządku, ale kiedy używam plików java z pakietu org.hibernate, pojawia się ten sam błąd.
user641887
1
Po prostu użyj tych samych wersji, które zostały wymienione w poście.
Shahab A
4
@georges, thevikasdube używa już zależności spring-boot-starter-data-jpa, która obejmuje Hibernate. Jakikolwiek powód, dla którego powinien jawnie włączać hibernację zależności?
Mav55
6
FYI hibernate-entitymanagerjest teraz przestarzałe. hibernate-coreZamiast tego użyj (tylko) .
Bohemian
74

Osoby używające java 9 uwzględniają tę zależność: -

<dependency>
        <groupId>javax.xml.bind</groupId>
        <artifactId>jaxb-api</artifactId>
        <version>2.3.0</version>
</dependency>
Rahul Jangra
źródło
4
Dla zainteresowanych tym, dlaczego wersje po Java 8 wymagają tego wyraźnego włączenia, znajduje się tutaj interesujący artykuł; baeldung.com/java-9-jaxbexception , w zasadzie jest to związane z wprowadzeniem systemu modułowego w Javie 9 i próbą odchudzenia wszystkich bibliotek, które nie są niezbędne ...
Otwarte
To zadziałało dla mnie, mimo że używam Java 8, dzięki.
ahmetcetin
Co to może być dla gradle?
FlexEast
To rozwiązane; y problem, dziękuję
bileleleuch
18

Dodanie zależności nie rozwiązało problemu po mojej stronie.

Problem występował u mnie z powodu „dodatkowych” pól, które są częścią klasy „@Entity” i nie istnieją w bazie danych.

Usunąłem dodatkowe pola z klasy @Entity i zadziałało.

Powodzenia.

JAD
źródło
1
Co masz na myśli przez dodatkowe pola? Czy mógłbyś podać więcej informacji na ten temat.? Mam teraz ten sam problem
Bandham Manikanta
Miałem na myśli dodatkowe właściwości, których nie ma w bazie danych, takie jak prywatne / publiczne liczby całkowite ...
itd.
Pracował.! W mojej klasie Entity były dwa konstruktory (arg, no-arg). Usunąłem je i zadziałało. Dzięki @JAD. szczęśliwego kodowania.
Bandham Manikanta
Tak, ten problem może być powiązany z problemem w dowolnej klasie jednostek.
zee
Pracowałem! Błąd nie dotyczył zależności ani problemu z konfiguracją menedżera jednostek. Problem dotyczył mojej klasy encji. Po utworzeniu moich klas encji z pomocą menadżera wytrwałości problem został rozwiązany. Dzięki.
Peter
9

Ja też miałem ten sam problem. Używałem Java9 i następującej zależności w pliku 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>

Problem został rozwiązany po dodaniu poniższej zależności w pom:

    <dependency>
        <groupId>javax.xml.bind</groupId>
        <artifactId>jaxb-api</artifactId>
        <version>2.3.0</version>
    </dependency>
GG
źródło
8
To jest duplikat odpowiedzi Rahula Jangry: stackoverflow.com/a/49707331/636009
David Conrad
7

Podejrzewam, że pliki jar programu hibernate-corei hibernate-entitymanagerzależności są uszkodzone lub nie zostały poprawnie zainstalowane na komputerze.

Sugeruję, abyś po prostu usunął foldery o nazwie hibernate-coreiz hibernate-entitymanagerlokalnego repozytorium Maven, a Maven ponownie je zainstaluje.

Domyślną lokalizacją lokalnego repozytorium Maven jest C:\Documents and Settings\[USERNAME]\.m2Windows lub ~/.m2Linux / Mac.

Hesham Usama
źródło
U mnie zadziałało, zaktualizowałem wersję Spring Boot z 1.5 do 2.3 i otrzymywałem ten błąd.
Ali786,
Usunąłem moje pełne repozytorium i działa. To rozwiązało ten i wiele innych błędów związanych ze sprężynowym rozruchem
Eduardo Pascual Aseff
5

W moim przypadku usunięcie dowolnej z poniższych adnotacji powoduje na przykład wyświetlenie komunikatu o błędzie „entityManagerFactory”.

 @Id
  @GeneratedValue(strategy=GenerationType.AUTO)

lub

@ManyToMany(targetEntity=listOfObject_x.class)

Komunikat o błędzie znika po dodaniu brakujących adnotacji.

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
źródło
5

Mam jdk-12.0.2.jdk, znalazłem rozwiązanie problemu, dodaj zależności do 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>
Diego Santa Cruz Mendezú
źródło
1
Dziękuję, ja też używam JDK 12 i tylko ten działa dla mnie.
AnT
Czy ktoś może wyjaśnić, dlaczego dodanie tych zależności rozwiązało błąd dla niektórych z nas?
Keegs
4

Dla tych, którzy używają Gradle zamiast Mavena, dodaj to do zależności w pliku kompilacji:

compile('javax.xml.bind:jaxb-api:2.3.0')
smo0f
źródło
3

Swoje rozwiązałem, aktualizując wersje Spring zależności z 2.0.4 na 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>

do

<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
źródło
Wypróbowałem wszystkie powyższe rozwiązania, ale tylko to działa dla mnie! Uratuj mój dzień !!!
Harriet
2

W moim przypadku było to spowodowane przez Intellij IDEA, domyślnie ustawiłem Javę 11 jako domyślny SDK projektu, ale projekt został zaimplementowany w Javie 8. Zmieniłem "Project SDK" w File -> Project Structure -> Project (w Project Settings)

Daniyar
źródło
To też był mój problem, kiedy próbujesz otworzyć stary projekt, który używa Java8 z nowo pobranym IntellijIDEA, to jest rozwiązanie.
fakturk
Aby zainstalować Java8 na macOS - zaparz beczkę zainstaluj adoptopenjdk / openjdk / adoptopenjdk8
fakturk
2

Dla tych, którzy nie używają JPA i zamiast tego wolą wykluczyć entityManagerFactory i używać Spring Data JDBC lub Spring JDBC, mogą wykluczyć komponent bean, aby uniknąć wyjątku

@SpringBootApplication(exclude = {HibernateJpaAutoConfiguration.class})
Mohammad Javed
źródło
1

Udało mi się rozwiązać problem, zmieniając wartość maksymalnego rozmiaru puli z jednego na dwa

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

user3743729
źródło
1

Spróbuj dodać adnotację do klasy za pomocą @EnableTransactionManagement. Miałem do czynienia z tym samym problemem i został on rozwiązany przez dodanie tego.

@EnableTransactionManagement
public class ConfigurationBean {
}
VaibhavD
źródło
1

Rozwiązałem ten problem, dodając implementacje Serializable w modelu.

@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
źródło
1

Ten błąd może być również związany z faktem, że masz błąd w swoim „spring.datasource.url”, gdy na przykład podałeś niewłaściwą nazwę bazy danych

G. Adnane
źródło
0

użyj @Id .Worked for me.w przeciwnym razie wyrzucę błąd.Zależy to od tego, czy brakuje czegoś w twojej klasie encji lub repozytorium

Raj Kumar Mishra
źródło
0

Jeśli używasz JDK 1.8.0_201 lub najnowszego, wypróbuj go ze starszym JDK.

Mam ten sam problem z JDK1.8.0_201, jednak działa z JDK1.8.0_101 bez żadnej zmiany kodu.

Sin2
źródło
0

Dla mnie był to skutek innego błędu

org.postgresql.util.PSQLException: FATAL: uwierzytelnianie hasła nie powiodło się dla użytkownika

Oznacza to, że wystarczy przejrzeć swoje dane uwierzytelniające

Tanel
źródło
0

Mój błąd został rozwiązany po dodaniu tej zależności.

<!-- 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>
Lilia
źródło
0

Spróbuj zmienić wersję wiosenną. Miałem ten sam problem i to zadziałało

Nax
źródło
0

Miałem ten sam problem na mojej Eclipse Luna. Odkryłem, że używam JDK12 i Java 1.8. Zmieniłem JDK na JDK8 i problem został rozwiązany. Jeśli chcesz sprawdzić swój JDK w Eclipse, przejdź do

Window-> Preferences-> Java- >Installed JREs 

i sprawdź, czy są zgodne z Twoim projektem. Powodzenia!

Andrzej
źródło
0

Dla mnie była to nazwa bazy danych na application.properties. Kiedy podałem poprawną nazwę, działało dobrze.

Poçi
źródło
0

Rozwiązałem swoje, definiując adnotację odwrotnej relacji dla dodatkowego pola

Anirudh Khanna
źródło
0

Ktokolwiek nadal ma ten sam problem. Dodaj następujący wiersz w pliku 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
Tareq Islam
źródło
-1

Popełniłem podobny błąd. Błąd nie pojawił się wcześniej, ale ostatnio ponownie zainstalowałem moją bazę danych Oracle i zmieniłem nazwę instancji z „xe” na „orcl”, ale zapomniałem zmienić ten fragment kodu w pliku właściwości:

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

Kiedy zmienię to z „xe” na „orcl”, wszystko jest w porządku.

RBuser2769569
źródło
-1

Problem może być spowodowany konfliktami pakietów. Kiedy używasz @Idadnotacji w encji, może ona używać @Idframeworka Springa; jednak musi używać@Id adnotacji trwałego interfejsu API.

Dlatego używaj @javax.persistence.Idadnotacji w obiektach.

oruc
źródło
Jeśli uzyskujesz dostęp do klasy, odwołuje się ona do określonej klasy z odniesieniem do pakietu za pośrednictwem importu. Jeśli to zrobisz, jest to błąd czasu kompilacji i jest najpierw przechwytywany podczas dowolnego procesu. Nie ma więc szans na konflikt z @Id z JPA i Spring.
Imam Bux
Nie jestem pewien, na jakie pytanie to próbuje odpowiedzieć, ale to nie jest to pytanie. Dodanie adnotacji (lub nie) za pomocą @Id nie spowoduje błędu stosu śledzenia „Wyczerpana pula połączeń - spróbuj zwiększyć wartość„ maxPoolSize ”i / lub„ borrowConnectionTimeout ”w DataSourceBean.”
Mark Rotteveel
-2

Spróbuj dodać następujące zależności.

<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
źródło