Lỗi khi tạo bean với tên 'entityManagerFactory' được xác định trong tài nguyên đường dẫn lớp: Không gọi được phương thức init


115

Khi tôi biên dịch dự án mùa xuân của mình, tôi gặp lỗi sau.

Lỗi khi tạo bean với tên 'entityManagerFactory' được xác định trong tài nguyên đường dẫn lớp [org / springframework / boot / autoconfigure / orm / jpa / HibernateJpaAutoConfiguration.class]: Không gọi được phương thức init

Tôi đang sử dụng Cơ sở dữ liệu STS Eclipse và MySql

Chuỗi kết nối của tôi trong 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ỗi chi tiết được đưa ra bên dưới

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

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
Rõ ràng "lỗi" mà bạn nhận được thực sự là "Do: com.atomikos.jdbc.AtomikosSQLException gây ra: Nhóm kết nối đã cạn kiệt - hãy thử tăng 'maxPoolSize' và / hoặc 'vayConnectionTimeout' trên DataSourceBean."
Neil Stockton

Câu trả lời:


78

Tôi sẽ bắt đầu bằng cách thêm phần phụ thuộc sau:

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

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

CẬP NHẬT : Hoặc Chỉ cần Thêm phụ thuộc sau.

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

33
@ georges-van Tôi đã gặp lỗi tương tự và 2 phần phụ thuộc mà bạn đã đề cập đã xuất hiện trong đó, spring-boot-starter-data-jpatôi gặp lỗi sau. anotepad.com/notes/wpjr5g

@georgesvan Tôi đã có các lọ ở trên mà bạn đã đề cập nhập từ khởi động mùa xuân. Những gì bạn nghĩ có thể là lý do cho lỗi chính xác này. Tôi phải đối mặt với cùng một vấn đề khi tôi thêm bất kỳ phần phụ thuộc liên quan đến chế độ ngủ đông nào. Khi tôi sử dụng tệp java từ gói javax.persistence thì mọi thứ đều ổn, nhưng khi tôi sử dụng bất kỳ tệp java nào từ gói org.hibernate, lỗi này cũng xuất hiện.
user641887

1
Chỉ cần sử dụng các phiên bản tương tự được đề cập trong bài.
Shahab A

4
@georges, thevikasdube đã sử dụng phụ thuộc spring-boot-starter-data-jpa bao gồm Hibernate. Bất kỳ lý do gì anh ta nên bao gồm các phụ thuộc ngủ đông một cách rõ ràng ??
Mav55

6
FYI hibernate-entitymanagerhiện không được dùng nữa. Sử dụng (chỉ) hibernate-corethay thế.
Bohemian

74

Những người sử dụng java 9 bao gồm sự phụ thuộc này: -

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

4
Đối với những người quan tâm đến lý do tại sao các phiên bản đăng Java 8 yêu cầu sự bao gồm rõ ràng này, có một bài viết thú vị ở đây; baeldung.com/java-9-jaxbexception , về cơ bản nó liên quan đến việc giới thiệu hệ thống mô-đun của Java 9s và nỗ lực giảm bớt tất cả các
lib

Điều này đã làm việc cho tôi mặc dù tôi đang sử dụng Java 8, cảm ơn.
ahmetcetin

Điều này có thể là gì cho gradle?
FlexEast

Điều này đã được giải quyết; y vấn đề, cảm ơn bạn
bileleleuch

18

Cuối cùng, việc thêm phần phụ thuộc đã không giải quyết được vấn đề.

Vấn đề đã xảy ra ở cuối của tôi do các trường "bổ sung" là một phần của lớp "@Entity" và không tồn tại trong cơ sở dữ liệu.

Tôi đã xóa các trường bổ sung khỏi lớp @Entity và nó hoạt động.

Chúc may mắn.


1
Wat do bạn có nghĩa là bởi các trường bổ sung ?? Bạn có thể cung cấp thêm thông tin về điều này.? Tôi gặp vấn đề tương tự ngay bây giờ
Bandham Manikanta

Ý của tôi là các thuộc tính bổ sung không tồn tại trong cơ sở dữ liệu, chẳng hạn như số nguyên riêng tư / công khai..vv
JAD

Đã làm việc.! Trong lớp Thực thể của tôi, có hai hàm tạo (arg, no-arg), tôi đã loại bỏ chúng và nó hoạt động. Cảm ơn @JAD. mã hóa vui vẻ.
Bandham Manikanta

Có, vấn đề này có thể liên quan đến một vấn đề trong bất kỳ lớp thực thể nào.
zee

Đã làm việc! Lỗi không phải phụ thuộc hoặc vấn đề cấu hình trình quản lý thực thể. Vấn đề là một trong những lớp thực thể của tôi. Sau khi tôi tạo các lớp thực thể của mình với sự trợ giúp của trình quản lý kiên trì, vấn đề đã được giải quyết. Cảm ơn.
Peter

9

Tôi cũng phải đối mặt với vấn đề tương tự. Tôi đang sử dụng Java9 và sau sự phụ thuộc trong tệp 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>

Sự cố đã được giải quyết sau khi thêm phụ thuộc bên dưới vào pom:

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

8
Đây là một bản sao của một câu trả lời Rahul Jangra của: stackoverflow.com/a/49707331/636009
David Conrad

7

Tôi nghi ngờ rằng các tập tin jar của hibernate-corehibernate-entitymanagerphụ thuộc đang bị hỏng hoặc không được cài đặt đúng trên máy tính của bạn.

Tôi đề nghị bạn chỉ cần xóa các thư mục có tên hibernate-corehibernate-entitymanagerkhỏi kho lưu trữ cục bộ Maven của bạn và Maven sẽ cài đặt lại chúng.

Vị trí mặc định cho kho lưu trữ cục bộ Maven là C:\Documents and Settings\[USERNAME]\.m2trong windows hoặc ~/.m2trong Linux / Mac.


Nó hoạt động với tôi, tôi đã cập nhật phiên bản khởi động mùa xuân từ 1.5 lên 2.3 và gặp lỗi này.
Ali786,

Tôi đã xóa kho lưu trữ đầy đủ của mình và nó hoạt động. Nó giải quyết này và rất nhiều lỗi khác với khởi động mùa xuân
Eduardo Pascual Aseff

5

Trong trường hợp của tôi, việc xóa bất kỳ chú thích nào dưới đây khiến thông báo lỗi 'entityManagerFactory' hiển thị, chẳng hạn.

 @Id
  @GeneratedValue(strategy=GenerationType.AUTO)

hoặc là

@ManyToMany(targetEntity=listOfObject_x.class)

Thông báo lỗi sẽ biến mất sau khi thêm (các) chú thích bị thiếu.

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

Tôi đã jdk-12.0.2.jdk, đã tìm thấy giải pháp cho vấn đề, thêm các phụ thuộc vào 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
Cảm ơn bạn, tôi cũng sử dụng JDK 12 và đây là cái duy nhất phù hợp với tôi.
AnT

Bất cứ ai có thể giải thích tại sao việc thêm các phụ thuộc này lại giải quyết được lỗi cho một số người trong chúng ta không?
Keegs

4

Đối với những người sử dụng Gradle thay vì Maven, hãy thêm phần này vào phần phụ thuộc trong tệp xây dựng của bạn:

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

3

Tôi đã giải quyết vấn đề của mình bằng cách cập nhật các phiên bản phụ thuộc mùa xuân từ 2.0.4 lên 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>

đến

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

Tôi đã thử tất cả các giải pháp trên nhưng chỉ cách này phù hợp với tôi! Hãy cứu lấy ngày của tôi !!!
Harriet.O

2

Đối với trường hợp của tôi, đó là do Intellij IDEA theo mặc định đặt Java 11 làm SDK dự án mặc định, nhưng dự án được triển khai trong Java 8. Tôi đã thay đổi "SDK dự án" trong Tệp -> Cấu trúc dự án -> Dự án (trong Cài đặt dự án)


Đây cũng là vấn đề của tôi, khi bạn cố gắng mở một dự án cũ sử dụng Java8 với IntellijIDEA mới được tải xuống, đây là giải pháp.
fakturk

Để cài đặt Java8 trên macOS - brew cask cài đặt accepttopenjdk / openjdk / accepttopenjdk8
fakturk

2

Đối với những người không sử dụng JPA và thay vào đó muốn loại trừ entityManagerFactory và sử dụng Spring Data JDBC hoặc Spring JDBC có thể loại trừ bean để tránh ngoại lệ

@SpringBootApplication(exclude = {HibernateJpaAutoConfiguration.class})

1

Tôi đã có thể khắc phục sự cố bằng cách thay đổi giá trị kích thước nhóm tối đa từ một thành hai

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


1

Cố gắng chú thích lớp bằng @EnableTransactionManagement. Tôi đã gặp phải vấn đề tương tự và nó đã được giải quyết bằng cách thêm điều này.

@EnableTransactionManagement
public class ConfigurationBean {
}

1

Tôi đã giải quyết vấn đề này bằng cách Thêm thực hiện có thể nối tiếp hóa trong Mô hình.

@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

Lỗi này cũng có thể liên quan đến việc bạn gặp lỗi trong "spring.datasource.url" khi bạn nhập sai tên db chẳng hạn


0

sử dụng @Id .Worked cho tôi, nếu không thì tôi sẽ mắc lỗi. Điều đó phụ thuộc vào việc có thứ gì bị thiếu trong lớp thực thể hoặc kho lưu trữ của bạn không


0

Nếu bạn sử dụng JDK 1.8.0_201 hoặc mới nhất, hãy thử nó với JDK cũ hơn.

Tôi gặp vấn đề tương tự với JDK1.8.0_201, tuy nhiên nó hoạt động với JDK1.8.0_101 mà không có bất kỳ thay đổi mã nào.


0

Đối với tôi, đó là kết quả của một lỗi khác

org.postgresql.util.PSQLException: FATAL: xác thực mật khẩu không thành công cho người dùng

Có nghĩa là bạn chỉ cần xem lại thông tin xác thực của mình


0

Lỗi của tôi đã được giải quyết sau khi thêm phần phụ thuộc này.

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

Hãy thử thay đổi phiên bản mùa xuân. Tôi đã gặp vấn đề tương tự và điều đó đã hiệu quả với tôi


0

Tôi đã gặp vấn đề tương tự trên Eclipse Luna của mình. Tôi phát hiện ra rằng tôi đang sử dụng JDK12 và Java 1.8. Tôi đã thay đổi JDK thành JDK8 và vấn đề đã được giải quyết. Nếu bạn muốn kiểm tra JDK của mình trong Eclipse, hãy truy cập

Window-> Preferences-> Java- >Installed JREs 

và kiểm tra xem chúng có tương thích với dự án của bạn không. Chúc may mắn!


0

Đối với tôi, đó là tên của cơ sở dữ liệu trên application.properties. Khi tôi cung cấp tên chính xác, nó hoạt động tốt.


0

Tôi đã giải quyết bằng cách xác định chú thích mối quan hệ ngược cho một trường bổ sung


0

Bất cứ ai vẫn có cùng một vấn đề. Vui lòng thêm dòng sau vào 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

Tôi đã trải qua lỗi tương tự. Lỗi không đến sớm hơn, nhưng gần đây tôi đã cài đặt lại oracle db của mình và thay đổi tên phiên bản từ 'xe' thành 'orcl', nhưng quên thay đổi đoạn mã này trong tệp thuộc tính:

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

Sau khi tôi thay đổi nó từ 'xe' thành 'orcl', mọi thứ đều ổn.


-1

Sự cố có thể là do xung đột gói. Khi bạn sử dụng @Idchú thích trong một thực thể, nó có thể sử dụng khung @Idcủa Spring; tuy nhiên, nó phải sử dụng @Idchú thích của API bền bỉ.

Vì vậy, hãy sử dụng @javax.persistence.Idchú thích trong các thực thể.


Nếu bạn truy cập lớp, nó đề cập đến lớp cụ thể với tham chiếu gói thông qua nhập. Nếu bạn làm vậy, đó là lỗi thời gian biên dịch và được bắt gặp trong bất kỳ quá trình nào ngay từ đầu. Vì vậy, không có cơ hội xảy ra xung đột với @Id với JPA và Spring.
Imam Bux

Tôi không chắc câu hỏi này cố gắng trả lời là gì, nhưng nó không phải là câu hỏi này. Có chú thích (hoặc không) bằng @Id sẽ không dẫn đến lỗi stacktrace cho biết "Nhóm kết nối đã cạn kiệt - hãy thử tăng 'maxPoolSize' và / hoặc 'vayConnectionTimeout' trên DataSourceBean."
Mark Rotteveel,

-2

Hãy thử thêm các phần phụ thuộc sau.

<dependency>
   <groupId>org.springframework.boot</groupId>
   <artifactId>spring-boot-starter-data-jpa</artifactId>
</dependency>
<dependency>
   <groupId>com.h2database</groupId>
   <artifactId>h2</artifactId>
</dependency> 
Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.