Erro ao criar bean com o nome 'entityManagerFactory' definido no recurso de caminho de classe: Invocação do método init falhou


115

Quando compilo meu projeto de primavera, recebo o seguinte erro.

Erro ao criar bean com o nome 'entityManagerFactory' definido no recurso de caminho de classe [org / springframework / boot / autoconfigure / orm / jpa / HibernateJpaAutoConfiguration.class]: Falha na invocação do método init

Estou usando o STS Eclipse e o banco de dados MySql

Minha string de conexão em 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

O erro detalhado é fornecido abaixo

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

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
Claramente, o "erro" que você obteve foi, na verdade, "Causado por: com.atomikos.jdbc.AtomikosSQLException: Pool de conexão esgotado - tente aumentar 'maxPoolSize' e / ou 'borrowConnectionTimeout' no DataSourceBean."
Neil Stockton

Respostas:


78

Eu começaria adicionando a seguinte dependência:

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

e

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

ATUALIZAÇÃO : Ou simplesmente adicione a seguinte dependência.

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

33
@ georges-van Encontrei o mesmo erro e as 2 dependências que você mencionou já estão presentes em spring-boot-starter-data-jpaRecebo o seguinte erro. anotepad.com/notes/wpjr5g

@georgesvan eu já tenho os potes acima que você mencionou importados da bota de primavera. O que você acha que pode ser a razão desse mesmo erro. Eu enfrento exatamente o mesmo problema quando adiciono quaisquer dependências relacionadas à hibernação. Quando eu uso arquivos java do pacote javax.persistence, está tudo bem, mas quando eu uso qualquer arquivo java do pacote org.hibernate, esse mesmo erro aparece.
user641887

1
Basta usar as mesmas versões que mencionei no post.
Shahab A de

4
@georges, thevikasdube já está usando a dependência spring-boot-starter-data-jpa que inclui o Hibernate. Qualquer motivo pelo qual ele deveria estar incluindo dependências de hibernação explicitamente ??
Mav55 de

6
FYI hibernate-entitymanageragora está obsoleto. Use (somente) em seu hibernate-corelugar.
Boêmio

73

Pessoas que usam java 9 incluem esta dependência: -

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

4
Para aqueles interessados ​​em saber por que as versões posteriores ao Java 8 exigem essa inclusão explícita, há um artigo interessante aqui; baeldung.com/java-9-jaxbexception , basicamente está relacionado à introdução do Java 9s do sistema modular e uma tentativa de reduzir todas as libs que não são essenciais ...
Opentuned

aparentemente, ele adicionou este artigo quando muitas pessoas começaram a receber este erro ... artigo legal embora.
Rahul Jangra

Isso funcionou para mim, embora eu esteja usando o Java 8, obrigado.
ahmetcetin

O que pode ser isso para o gradle?
FlexEast de

18

Adicionar dependências não resolveu o problema do meu lado.

O problema estava acontecendo no meu final por causa de campos "adicionais" que fazem parte da classe "@Entity" e não existem no banco de dados.

Removi os campos adicionais da classe @Entity e funcionou.

Boa sorte.


1
O que você quer dizer com campos adicionais ?? Você poderia dar mais informações sobre isso.? Eu tenho o mesmo problema agora
Bandham Manikanta

Eu quis dizer propriedades adicionais que não existem no banco de dados, como números inteiros privados / públicos
etc

Funcionou.! Na minha classe Entity, havia dois construtores (arg, no-arg)., Eu removi aqueles e funcionou. Obrigado @JAD. codificação feliz.
Bandham Manikanta

Sim, esse problema pode estar relacionado a um problema em qualquer uma das classes de entidade.
zee

Funcionou! O erro não era de dependência ou problema de configuração do gerenciador de entidades. O problema era da minha classe de entidade. Depois de criar minhas classes de entidade com a ajuda do gerenciador de persistência, o problema foi resolvido. Obrigado.
Peter

9

Eu também enfrentei o mesmo problema. Eu estava usando Java9 e seguindo a dependência no arquivo 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>

O problema foi resolvido após adicionar a dependência abaixo no pom:

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

8
Esta é uma duplicata da resposta de Rahul Jangra: stackoverflow.com/a/49707331/636009
David Conrad

7

Suspeito que os arquivos jar hibernate-coree as hibernate-entitymanagerdependências estão corrompidos ou não foram instalados corretamente em sua máquina.

Eu sugiro que você apenas exclua as pastas nomeadas hibernate-coree hibernate-entitymanagerde seu repositório local Maven e o Maven as reinstalará.

O local padrão para o repositório local Maven é C:\Documents and Settings\[USERNAME]\.m2no Windows ou ~/.m2no Linux / Mac.


Funcionou para mim, eu tinha atualizado a versão do Spring Boot 1.5 para 2.3 e estava recebendo este erro.
Ali786

Excluí meu repositório completo e funciona. Resolveu este e muitos outros erros com a bota de mola
Eduardo Pascual Aseff

5

No meu caso, a exclusão de qualquer uma das anotações abaixo faz com que a mensagem de erro 'entityManagerFactory' seja exibida, por exemplo.

 @Id
  @GeneratedValue(strategy=GenerationType.AUTO)

ou

@ManyToMany(targetEntity=listOfObject_x.class)

A mensagem de erro desaparece após adicionar a (s) anotação (ões) ausente (s).

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

Eu jdk-12.0.2.jdk, encontrei a solução para o problema, adicione dependências a pom.xml:

<!-- https://mvnrepository.com/artifact/javax.xml.bind/jaxb-api -->
<dependency>
    <groupId>javax.xml.bind</groupId>
    <artifactId>jaxb-api</artifactId>
    <version>2.3.1</version>
</dependency>
<!-- https://mvnrepository.com/artifact/org.javassist/javassist -->
<dependency>
    <groupId>org.javassist</groupId>
    <artifactId>javassist</artifactId>
    <version>3.25.0-GA</version>
</dependency>

1
Obrigado, eu uso o JDK 12 também e este é o único que funciona para mim.
AnT

Alguém pode explicar por que adicionar essas dependências resolveu o erro para alguns de nós?
Keegs

4

Para aqueles que usam Gradle em vez de Maven, adicione isto às dependências em seu arquivo de compilação:

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

3

Resolvi o meu atualizando as versões das dependências do Spring 2.0.4 para 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>

para

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

Tentei todas as soluções acima, mas só isso funciona para mim! Salve meu dia !!!
Harriet.O

2

No meu caso, foi devido ao Intellij IDEA definir por padrão o Java 11 como SDK do projeto padrão, mas o projeto foi implementado no Java 8. Eu mudei "SDK do projeto" em Arquivo -> Estrutura do projeto -> Projeto (nas configurações do projeto)


Este também foi o meu problema, quando você tenta abrir um projeto antigo que usa Java8 com o novo IntellijIDEA baixado esta é a solução.
fakturk

Para instalar o Java8 no macOS - brew cask install adoptopenjdk / openjdk / adoptopenjdk8
fakturk

2

Para aqueles que não estão usando JPA e preferem excluir a entityManagerFactory e usar Spring Data JDBC ou Spring JDBC pode excluir o bean para evitar a exceção

@SpringBootApplication(exclude = {HibernateJpaAutoConfiguration.class})

1

Consegui resolver o problema alterando o valor do tamanho máximo do pool de um para dois

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


1

Tente anotar a classe com @EnableTransactionManagement. Eu estava enfrentando o mesmo problema e foi resolvido adicionando isso.

@EnableTransactionManagement
public class ConfigurationBean {
}

1

Resolvi esse problema adicionando implementos Serializable no modelo.

@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

Este erro também pode estar relacionado ao fato de você ter um erro em seu "spring.datasource.url" quando deu um nome de banco de dados incorreto, por exemplo


0

use @Id .Worked for me. Caso contrário, lançarei um erro. Depende se há algo faltando em sua classe de entidade ou repositório


0

Se você usa o JDK 1.8.0_201 ou o mais recente, tente com o JDK mais antigo.

Eu tenho o mesmo problema com JDK1.8.0_201, no entanto, funciona com JDK1.8.0_101 sem qualquer alteração de código.


0

Para mim, foi resultado de outro erro

org.postgresql.util.PSQLException: FATAL: autenticação de senha falhou para o usuário

O que significa que você só precisa revisar suas credenciais de autenticação


0

Meu erro foi resolvido após adicionar esta dependência.

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

Tente mudar a versão da primavera. Eu tive o mesmo problema e funcionou para mim


0

Eu tive o mesmo problema no meu Eclipse Luna. Descobri que estou usando JDK12 e Java 1.8. Mudei JDK para JDK8 e o problema foi resolvido. Se você quiser verificar seu JDK no Eclipse, vá para

Window-> Preferences-> Java- >Installed JREs 

e verifique se são compatíveis com o seu projeto. Boa sorte!


0

Para mim, era o nome do banco de dados em application.properties. Quando eu forneci o nome correto, funcionou bem.


0

Resolvi o meu definindo a anotação de relacionamento reverso para um campo adicional


0

Quem ainda tem o mesmo problema. Adicione a seguinte linha em 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

Eu passei por um erro semelhante. O erro não estava vindo antes, mas recentemente eu reinstalei meu oracle db e alterei o nome da instância de 'xe' para 'orcl', mas esqueci de alterar este trecho de código no arquivo de propriedade:

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

Depois que eu mudar de 'xe' para 'orcl', tudo ficará bem.


-1

O problema pode ser devido a conflitos de pacotes. Quando você usa @Idanotação em uma entidade, ela pode usar o @Idframework do Spring; no entanto, ele deve usar @Idanotação de API de persistência.

Portanto, use @javax.persistence.Idanotações em entidades.


Se você acessar a classe, ela se refere à classe específica com a referência do pacote via importação. Se você fizer isso, é um erro de tempo de compilação e é detectado durante qualquer processo em primeiro lugar. Portanto, não há chance de conflito com @Id com JPA e Spring.
Imam Bux de

Não tenho certeza de que pergunta isso tenta responder, mas não é essa pergunta. Ter anotado (ou não) com @Id não resultará em um rastreamento de pilha de erro dizendo "Pool de conexão esgotado - tente aumentar 'maxPoolSize' e / ou 'borrowConnectionTimeout' no DataSourceBean."
Mark Rotteveel

-2

Tente adicionar as seguintes dependências.

<dependency>
   <groupId>org.springframework.boot</groupId>
   <artifactId>spring-boot-starter-data-jpa</artifactId>
</dependency>
<dependency>
   <groupId>com.h2database</groupId>
   <artifactId>h2</artifactId>
</dependency> 
Ao utilizar nosso site, você reconhece que leu e compreendeu nossa Política de Cookies e nossa Política de Privacidade.
Licensed under cc by-sa 3.0 with attribution required.