Kesalahan membuat kacang dengan nama 'entityManagerFactory' yang ditentukan di sumber jalur kelas: Pemanggilan metode init gagal


115

Ketika saya menyusun proyek musim semi saya, saya mendapat kesalahan berikut.

Kesalahan membuat kacang dengan nama 'entityManagerFactory' yang ditentukan di sumber jalur kelas [org / springframework / boot / autoconfigure / orm / jpa / HibernateJpaAutoConfiguration.class]: Pemanggilan metode init gagal

Saya menggunakan STS Eclipse dan MySql Database

String Koneksi saya di Application.Propertiesadalah

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

Kesalahan rinci diberikan di bawah ini

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

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
Jelas "kesalahan" yang Anda dapatkan sebenarnya "Disebabkan oleh: com.atomikos.jdbc.AtomikosSQLException: Kumpulan koneksi habis - coba tingkatkan 'maxPoolSize' dan / atau 'BorrowConnectionTimeout' pada DataSourceBean."
Neil Stockton

Jawaban:


78

Saya akan mulai dengan menambahkan ketergantungan berikut:

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

dan

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

UPDATE : Atau Cukup Tambahkan dependensi berikut.

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

33
@ georges-van Saya mengalami kesalahan yang sama, dan 2 dependensi yang telah Anda sebutkan sudah ada di spring-boot-starter-data-jpasaya mendapatkan kesalahan berikut. anotepad.com/notes/wpjr5g

@georgesvan Saya sudah memiliki toples di atas yang Anda sebutkan diimpor dari sepatu bot musim semi. Apa yang menurut Anda dapat menjadi alasan untuk kesalahan yang sama persis. Saya menghadapi masalah yang sama persis ketika saya menambahkan dependensi terkait hibernasi. Ketika saya menggunakan file java dari paket javax.persistence semuanya baik-baik saja, tetapi ketika saya menggunakan file java dari paket org.hibernate, kesalahan yang sama persis muncul.
pengguna641887

1
Cukup gunakan versi yang sama dengan yang disebutkan di posting.
Shahab A

4
@georges, thevikasdube sudah menggunakan dependensi spring-boot-starter-data-jpa yang menyertakan Hibernate. Ada alasan dia harus menyertakan dependensi hibernate secara eksplisit ??
Mav55

6
FYI hibernate-entitymanagersekarang tidak digunakan lagi. Gunakan (hanya) hibernate-coresebagai gantinya.
Bohemian

74

Orang yang menggunakan java 9 menyertakan ketergantungan ini: -

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

4
Bagi mereka yang tertarik dengan mengapa versi post Java 8 memerlukan penyertaan eksplisit ini, ada artikel menarik di sini; baeldung.com/java-9-jaxbexception , pada dasarnya terkait dengan pengenalan Java 9 dari sistem modular dan upaya untuk mengurangi semua
lib

Ini berhasil untuk saya meskipun saya menggunakan Java 8, terima kasih.
ahmetcetin

Apa ini untuk gradle?
FlexEast

Ini memecahkan masalah y, terima kasih
bileleleuch

18

Menambahkan dependensi tidak memperbaiki masalah di pihak saya.

Masalah ini terjadi di pihak saya karena kolom "tambahan" yang merupakan bagian dari kelas "@Entity" dan tidak ada di database.

Saya menghapus bidang tambahan dari kelas @Entity dan berhasil.

Semoga berhasil.


1
Wat do yu maksudnya dengan bidang tambahan ?? Bisakah Anda memberikan info lebih lanjut tentang ini.? saya memiliki masalah yang sama sekarang
Bandham Manikanta

Yang saya maksud adalah properti tambahan yang tidak ada dalam database, seperti private / public integers..dll
JAD

Bekerja.! Di kelas Entity saya, ada dua konstruktor (arg, no-arg)., Saya menghapusnya dan berhasil. Terima kasih @JAD. selamat coding.
Bandham Manikanta

Ya, masalah ini dapat terkait dengan masalah di salah satu kelas entitas.
zee

Bekerja! Kesalahan bukanlah masalah konfigurasi dependensi atau manajer entitas. Masalahnya adalah salah satu kelas entitas saya. Setelah saya membuat kelas entitas saya dengan bantuan manajer ketekunan, masalahnya telah terpecahkan. Terima kasih.
Peter

9

Saya juga menghadapi masalah yang sama. Saya menggunakan Java9 dan mengikuti ketergantungan di 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>

Masalah ini teratasi setelah menambahkan ketergantungan di bawah ini di pom:

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

8
Ini adalah duplikat dari jawaban Rahul Jangra: stackoverflow.com/a/49707331/636009
David Conrad

7

Saya menduga bahwa file jar hibernate-coredan hibernate-entitymanagerdependensi rusak atau tidak diinstal dengan benar di komputer Anda.

Saya menyarankan agar Anda menghapus folder bernama hibernate-coredan hibernate-entitymanagerdari repositori lokal Maven Anda dan Maven akan menginstalnya kembali.

Lokasi default untuk repositori lokal Maven ada C:\Documents and Settings\[USERNAME]\.m2di windows atau ~/.m2di Linux / Mac.


Ini berhasil untuk saya, saya telah memperbarui versi boot musim semi dari 1.5 menjadi 2.3 dan mendapatkan kesalahan ini.
Ali786

Saya menghapus repositori lengkap saya dan berhasil. Ini menyelesaikan ini dan banyak kesalahan lainnya dengan sepatu bot musim semi
Eduardo Pascual Aseff

5

Dalam kasus saya, menghapus salah satu anotasi di bawah ini menyebabkan pesan kesalahan 'entityManagerFactory' muncul, misalnya.

 @Id
  @GeneratedValue(strategy=GenerationType.AUTO)

atau

@ManyToMany(targetEntity=listOfObject_x.class)

Pesan kesalahan menghilang setelah menambahkan anotasi yang hilang.

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

Saya telah jdk-12.0.2.jdk, telah menemukan solusi untuk masalah ini, tambahkan dependensi ke 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
Terima kasih, saya juga menggunakan JDK 12 dan ini adalah satu-satunya yang berhasil untuk saya.
ANT

Adakah yang bisa menjelaskan mengapa menambahkan dependensi ini menyelesaikan kesalahan bagi sebagian dari kita?
Keegs

4

Bagi mereka yang menggunakan Gradle, bukan Maven, tambahkan ini ke dependensi di file build Anda:

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

3

Saya menyelesaikan milik saya dengan memperbarui versi dependensi pegas dari 2.0.4 ke 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>

untuk

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

Saya mencoba semua solusi di atas tetapi hanya ini yang berhasil untuk saya! Selamatkan hariku !!!
Harriet.O

2

Untuk kasus saya, itu karena Intellij IDEA secara default menetapkan Java 11 sebagai SDK proyek default, tetapi proyek diimplementasikan di Java 8. Saya telah mengubah "Project SDK" di File -> Struktur Proyek -> Proyek (dalam Pengaturan Proyek)


Ini juga masalah saya, ketika Anda mencoba membuka proyek lama yang menggunakan Java8 dengan IntellijIDEA yang baru diunduh, inilah solusinya.
fakturk

Untuk install Java8 di macOS - brew cask install adoptopenjdk / openjdk / adoptopenjdk8
Fakturk

2

Bagi mereka yang tidak menggunakan JPA dan lebih memilih untuk mengecualikan entityManagerFactory dan menggunakan Spring Data JDBC atau Spring JDBC dapat mengecualikan kacang untuk menghindari pengecualian

@SpringBootApplication(exclude = {HibernateJpaAutoConfiguration.class})

1

Saya dapat memperbaiki masalah dengan mengubah nilai ukuran kolam maksimum dari satu menjadi dua

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


1

Coba beri anotasi kelas dengan @EnableTransactionManagement. Saya menghadapi masalah yang sama dan itu diselesaikan dengan menambahkan ini.

@EnableTransactionManagement
public class ConfigurationBean {
}

1

Saya menyelesaikan masalah ini dengan menambahkan implements Serializable di Model.

@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

Kesalahan ini mungkin juga terkait dengan fakta bahwa Anda memiliki kesalahan dalam "spring.datasource.url" saat Anda memberikan nama db yang salah misalnya


0

Gunakan @Id. Berfungsi untuk saya. Jika tidak, saya akan membuang kesalahan. Tergantung apakah ada yang hilang di kelas entitas atau repositori Anda


0

Jika Anda menggunakan JDK 1.8.0_201 atau yang terbaru coba dengan JDK yang lebih lama.

Saya memiliki masalah yang sama dengan JDK1.8.0_201, namun bekerja dengan JDK1.8.0_101 tanpa perubahan kode apa pun.


0

Bagi saya, itu adalah akibat dari kesalahan lain

org.postgresql.util.PSQLException: FATAL: otentikasi sandi gagal untuk pengguna

Yang berarti Anda hanya perlu meninjau kredensial otentikasi Anda


0

Kesalahan saya diselesaikan setelah menambahkan ketergantungan ini.

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

Coba ubah versi pegas. Saya memiliki masalah yang sama dan itu berhasil untuk saya


0

Saya memiliki masalah yang sama pada Eclipse Luna saya. Saya menemukan bahwa saya menggunakan JDK12 dan Java 1.8. Saya mengubah JDK menjadi JDK8 dan masalah telah teratasi. Jika Anda ingin memeriksa JDK Anda di Eclipse, buka

Window-> Preferences-> Java- >Installed JREs 

dan periksa apakah mereka kompatibel dengan proyek Anda. Semoga berhasil!


0

Bagi saya itu adalah nama database di application.properties. Ketika saya memberikan nama yang benar, itu berfungsi dengan baik.


0

Saya menyelesaikan milik saya dengan mendefinisikan anotasi hubungan terbalik untuk bidang tambahan


0

Siapapun yang masih mengalami masalah yang sama. Harap tambahkan baris berikut di 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

Saya telah mengalami kesalahan serupa. Kesalahan tidak datang lebih awal, tetapi baru-baru ini saya menginstal ulang oracle db saya dan mengubah nama instance dari 'xe' menjadi 'orcl', tetapi lupa untuk mengubah bagian kode ini di file properti:

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

Setelah saya mengubahnya dari 'xe' menjadi 'orcl' semuanya baik-baik saja.


-1

Masalahnya mungkin karena konflik paket. Saat Anda menggunakan @Idanotasi dalam suatu entitas, itu mungkin menggunakan @Idkerangka Spring; Namun, itu harus menggunakan @Idanotasi API persistensi.

Jadi gunakan @javax.persistence.Idanotasi dalam entitas.


Jika Anda mengakses kelas, ini merujuk ke kelas tertentu dengan referensi paket melalui import. Jika Anda melakukannya, itu adalah kesalahan waktu kompilasi dan tertangkap selama proses apa pun di tempat pertama. Jadi, tidak mungkin ada konflik antara @Id dengan JPA dan Spring.
Imam Bux

Saya tidak yakin pertanyaan apa yang coba dijawab ini, tetapi ini bukan pertanyaan ini. Memiliki anotasi (atau tidak) dengan @Id tidak akan menghasilkan error stacktrace yang mengatakan "Kumpulan koneksi habis - coba tambah 'maxPoolSize' dan / atau 'borrowConnectionTimeout' pada DataSourceBean."
Mark Rotteveel

-2

Coba tambahkan dependensi berikut.

<dependency>
   <groupId>org.springframework.boot</groupId>
   <artifactId>spring-boot-starter-data-jpa</artifactId>
</dependency>
<dependency>
   <groupId>com.h2database</groupId>
   <artifactId>h2</artifactId>
</dependency> 
Dengan menggunakan situs kami, Anda mengakui telah membaca dan memahami Kebijakan Cookie dan Kebijakan Privasi kami.
Licensed under cc by-sa 3.0 with attribution required.