Помилка створення bean з назвою 'entitManagerFactory', визначеної в ресурсі шляху класу: Не вдалося викликати метод init


115

Коли я складав свій весняний проект, я отримав таку помилку.

Помилка створення bean з назвою 'entitManagerFactory', визначеної у ресурсі шляху до класу [org / springframework / boot / autoconfigure / orm / jpa / HibernateJpaAutoConfiguration.class]: Не вдалося викликати метод init

Я використовую STS Eclipse та MySql Database

Мій рядок підключення 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

Детальна помилка наведена нижче

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

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
Очевидно, що "помилка", яку ви отримали, була насправді "Викликана: com.atomikos.jdbc.AtomikosSQLException: Пул з'єднань вичерпаний - спробуйте збільшити" maxPoolSize "та / або" заимствованиеConnectionTimeout "на DataSourceBean."
Ніл Стоктон

Відповіді:


78

Я б почав із додавання такої залежності:

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

ОНОВЛЕННЯ : Або просто додайте таку залежність.

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

33
@ georges-van Я зіткнувся з тією ж помилкою, і дві залежності, про які ви згадали, вже є у spring-boot-starter-data-jpaмене, я отримую наступну помилку. anotepad.com/notes/wpjr5g

@georgesvan У мене вже є вищевказані банки, які ви згадали, імпортовані з весняного завантаження. Що ви думаєте, може бути причиною цієї саме такої помилки. Я стикаюся з точно такою самою проблемою, коли додаю будь-які залежності від сплячки. Коли я використовую файли java з пакета javax.persistence, все нормально, але коли я використовую будь-які файли java з пакета org.hibernate, ця саме така помилка спливає.
користувач641887

1
Просто використовуйте ті самі версії, які згадували у публікації.
Шахаб

4
@georges, thevikasdube вже використовує залежність spring-boot-starter-data-jpa, що включає сплячий режим. Будь-яка причина, яку він повинен явно включати у сплячу залежність ??
Mav55

6
FYI hibernate-entitymanagerзараз застаріла. Використовуйте (лише) hibernate-core.
богем

74

Люди, які використовують java 9, включають цю залежність:

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

4
Для тих, хто цікавиться, чому версії після публікації Java 8 вимагають цього явного включення, тут є цікава стаття; baeldung.com/java-9-jaxbexception , в основному пов'язане з впровадженням модульної системи Java 9s та спробою зменшити всі гілки, які не є істотними ...
Opentuned

Мабуть, він додав цю статтю, коли трохи занадто багато людей почали отримувати цю помилку ... хоч класна стаття.
Рахул Янгра

Це працювало для мене, хоча я використовую Java 8, дякую.
ахметцетин

Що це може бути для Gradle?
FlexEast

Це вирішило; y проблему, дякую
жовчогінний

18

Додавання залежностей не вирішило проблему в моєму кінці.

Проблема виникала в моєму кінці через "додаткові" поля, які входять до класу "@Entity" і не існують у базі даних.

Я видалив додаткові поля з класу @Entity, і воно спрацювало.

Удачі.


1
Ви маєте на увазі додаткові поля ?? Чи можете ви надати більше інформації про це? У мене зараз те саме питання
Bandham Manikanta

Я мав на увазі додаткові властивості, яких немає в базі даних, наприклад приватні / публічні цілі числа ... і
т.д.

Працювали.! У моєму класі Entity було два конструктори (arg, no-arg). Я вилучив їх, і це спрацювало. Дякую @JAD. щасливе кодування.
Bandham Manikanta

Так, це питання може бути пов'язане з проблемою в будь-якому з класів сутності.
zee

Працювали! Помилка не була проблемою залежності або конфігурації менеджера об'єктів. Проблема була в моєму навчальному класі. Після того, як я створив свої уроки з допомогою менеджера наполегливості, проблема була вирішена. Дякую.
Пітер

9

Я також зіткнувся з тим же питанням. Я використовував Java9 та наступну залежність у файлі 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>

Проблему було вирішено після додавання нижче залежності в pom:

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

8
Це копія відповіді Рахул Jangra в: stackoverflow.com/a/49707331/636009
Девід Конрад

7

Я підозрюю, що jar файли hibernate-coreтаhibernate-entitymanager залежності пошкоджені або неправильно встановлені на вашій машині.

Я пропоную вам просто видалити папки, названі hibernate-coreі hibernate-entitymanagerз місцевого сховища Maven Maven, і Maven перевстановить їх.

Місцеве сховище Maven за замовчуванням знаходиться C:\Documents and Settings\[USERNAME]\.m2у Windows або ~/.m2в Linux / Mac.


Це працювало для мене, я оновив версію весняного завантаження з 1,5 до 2,3 і отримував цю помилку.
Ali786

Я видалив своє повне сховище, і воно працює. Це вирішило цю
проблему

5

У моєму випадку, видалення будь-якої з наведених нижче приміток призводить, наприклад, до повідомлення про помилку 'entitManagerFactory'.

 @Id
  @GeneratedValue(strategy=GenerationType.AUTO)

або

@ManyToMany(targetEntity=listOfObject_x.class)

Повідомлення про помилку зникає після додавання відсутньої примітки.

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

Я jdk-12.0.2.jdk, знайшов рішення проблеми, додав залежності до 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
Дякую, я також використовую JDK 12, і це єдине, що працює для мене.
ANT

Чи може хтось пояснити, чому додавання цих залежностей вирішило помилку для когось із нас?
Keegs

4

Для тих, хто використовує Gradle замість Maven, додайте це до залежностей у вашому файлі збірки:

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

3

Я вирішив свою, оновивши версії весняних залежностей від 2.0.4 до 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>

до

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

Я спробував усі вищевикладені рішення, але тільки це працює для мене! Врятуй мій день !!!
Harriet.O

2

У моєму випадку це було пов’язано з тим, що Intellij IDEA за замовчуванням встановив Java 11 як проект SDK за замовчуванням, але проект був реалізований на Java 8. Я змінив "Проект SDK" у Файл -> Структура проекту -> Проект (у налаштуваннях проекту)


Це також було моєю проблемою, коли ви намагаєтесь відкрити старий проект, який використовує Java8 з новою завантаженою IntellijIDEA, це рішення.
fakturk

Для встановлення Java8 на macOS - пивоварений бочковий встановіть accepttopenjdk / openjdk / accepttopenjdk8
fakturk

2

Для тих, хто не використовує JPA, а натомість вважає за краще виключити entitetManagerFactory та використовувати Spring Data JDBC або Spring JDBC, може виключити боб, щоб уникнути виключення

@SpringBootApplication(exclude = {HibernateJpaAutoConfiguration.class})

1

Мені вдалося усунути проблему, змінивши значення максимального розміру пулу з одного на два

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


1

Спробуйте помітити клас за допомогою @EnableTransactionManagement. Я зіткнувся з тим же питанням, і це було вирішено, додавши це.

@EnableTransactionManagement
public class ConfigurationBean {
}

1

Цю проблему я вирішив, додавши в модель модель реалізаторів Serializable.

@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

Ця помилка може бути також пов’язана з тим, що ви маєте помилку у своєму "spring.datasource.url", коли ви дали неправильне ім'я db, наприклад


0

використовувати @Id. Працює для мене. Інакше це я викину помилку. Це залежить від того, що у вашому класі чи сховищі відсутнє щось


0

Якщо ви використовуєте JDK 1.8.0_201 або останню версію, спробуйте його зі старшим JDK.

У мене така ж проблема з JDK1.8.0_201, проте вона працює з JDK1.8.0_101 без будь-якої зміни коду.


0

Для мене це було наслідком чергової помилки

org.postgresql.util.PSQLException: FATAL: не вдалося перевірити автентифікацію пароля для користувача

Це означає, що вам просто потрібно переглянути свої автентифікаційні дані


0

Мою помилку було вирішено після додавання цієї залежності.

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

Спробуйте змінити весняну версію. У мене був той самий випуск, і це працювало на мене


0

У мене був такий самий випуск на моїй Луні Eclipse. Я розумію, що я використовую JDK12 та Java 1.8. Я змінив JDK на JDK8 і проблема була вирішена. Якщо ви хочете перевірити свій JDK в Eclipse, перейдіть на сторінку

Window-> Preferences-> Java- >Installed JREs 

і перевірте, чи сумісні вони вони з вашим проектом. Удачі!


0

Для мене це була назва бази даних на application.properties. Коли я вказав правильну назву, це працювало нормально.


0

Я вирішив шахту, визначивши анотацію зворотного відношення для додаткового поля


0

У кого ще є те саме питання. Будь ласка, додайте наступний рядок у 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

Я пережив подібну помилку. Помилка прийшла не раніше, але нещодавно я перевстановлюю свій Oracle db і змінюю ім'я екземпляра з 'xe' на 'orcl', але забудьте змінити цей фрагмент коду у файлі властивостей:

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

Як тільки я зміню його з 'xe' на 'orcl', все добре.


-1

Проблема може виникнути через конфлікт пакетів. Коли ви використовуєте @Idпримітку в об'єкті, вона може використовувати @Idрамку Spring; однак він повинен використовувати@Id анотацію API стійкості.

Тому використовуйте @javax.persistence.Idанотації в об’єктах.


Якщо ви отримуєте доступ до класу, він посилається на певний клас із посиланням на пакет через імпорт. Якщо це зробити, це помилка часу компіляції і виявляється під час будь-якого процесу в першу чергу. Отже, немає шансів конфліктувати на @Id з JPA та Spring.
Імам Бакс

Я не впевнений, на яке питання намагається відповісти, але це не це питання. Повідомлення (чи ні) за допомогою @Id не призведе до помилки стеження з написом "Пул з'єднань вичерпано - спробуйте збільшити" maxPoolSize "та / або" заимствованиеConnectionTimeout "на DataSourceBean."
Марк Ротвевель

-2

Спробуйте додати наступні залежності.

<dependency>
   <groupId>org.springframework.boot</groupId>
   <artifactId>spring-boot-starter-data-jpa</artifactId>
</dependency>
<dependency>
   <groupId>com.h2database</groupId>
   <artifactId>h2</artifactId>
</dependency> 
Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.