Error al crear un bean con el nombre 'entityManagerFactory' definido en el recurso de la ruta de clases: falló la invocación del método init

115

Cuando compilo mi proyecto de primavera, recibí el siguiente error.

Error al crear un bean con el nombre 'entityManagerFactory' definido en el recurso de la ruta de clase [org / springframework / boot / autoconfigure / orm / jpa / HibernateJpaAutoConfiguration.class]: Error al invocar el método init

Estoy usando STS Eclipse y MySql Database

Mi cadena de conexión en Application.Propertieses

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

El error detallado se da a continuación

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

2016-10-15 15:34:38.875[0;39m [31mERROR[0;39m [35m3700[0;39m [2m---[0;39m [2m[           main][0;39m [36mo.s.boot.SpringApplication              [0;39m [2m:[0;39m Application startup failed

org.springframework.beans.factory.BeanCreationException: Error creating bean with name 'entityManagerFactory' defined in class path resource [org/springframework/boot/autoconfigure/orm/jpa/HibernateJpaAutoConfiguration.class]: Invocation of init method failed; nested exception is javax.persistence.PersistenceException: [PersistenceUnit: default] Unable to build Hibernate SessionFactory
    at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.initializeBean(AbstractAutowireCapableBeanFactory.java:1583) ~[spring-beans-4.3.3.RELEASE.jar:4.3.3.RELEASE]
    at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.doCreateBean(AbstractAutowireCapableBeanFactory.java:545) ~[spring-beans-4.3.3.RELEASE.jar:4.3.3.RELEASE]
    at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.createBean(AbstractAutowireCapableBeanFactory.java:482) ~[spring-beans-4.3.3.RELEASE.jar:4.3.3.RELEASE]
    at org.springframework.beans.factory.support.AbstractBeanFactory$1.getObject(AbstractBeanFactory.java:306) ~[spring-beans-4.3.3.RELEASE.jar:4.3.3.RELEASE]
    at org.springframework.beans.factory.support.DefaultSingletonBeanRegistry.getSingleton(DefaultSingletonBeanRegistry.java:230) ~[spring-beans-4.3.3.RELEASE.jar:4.3.3.RELEASE]
    at org.springframework.beans.factory.support.AbstractBeanFactory.doGetBean(AbstractBeanFactory.java:302) ~[spring-beans-4.3.3.RELEASE.jar:4.3.3.RELEASE]
    at org.springframework.beans.factory.support.AbstractBeanFactory.getBean(AbstractBeanFactory.java:197) ~[spring-beans-4.3.3.RELEASE.jar:4.3.3.RELEASE]
    at org.springframework.context.support.AbstractApplicationContext.getBean(AbstractApplicationContext.java:1076) ~[spring-context-4.3.3.RELEASE.jar:4.3.3.RELEASE]
    at org.springframework.context.support.AbstractApplicationContext.finishBeanFactoryInitialization(AbstractApplicationContext.java:851) ~[spring-context-4.3.3.RELEASE.jar:4.3.3.RELEASE]
    at org.springframework.context.support.AbstractApplicationContext.refresh(AbstractApplicationContext.java:541) ~[spring-context-4.3.3.RELEASE.jar:4.3.3.RELEASE]
    at org.springframework.boot.context.embedded.EmbeddedWebApplicationContext.refresh(EmbeddedWebApplicationContext.java:122) ~[spring-boot-1.4.1.RELEASE.jar:1.4.1.RELEASE]
    at org.springframework.boot.SpringApplication.refresh(SpringApplication.java:761) [spring-boot-1.4.1.RELEASE.jar:1.4.1.RELEASE]
    at org.springframework.boot.SpringApplication.refreshContext(SpringApplication.java:371) [spring-boot-1.4.1.RELEASE.jar:1.4.1.RELEASE]
    at org.springframework.boot.SpringApplication.run(SpringApplication.java:315) [spring-boot-1.4.1.RELEASE.jar:1.4.1.RELEASE]
    at org.springframework.boot.SpringApplication.run(SpringApplication.java:1186) [spring-boot-1.4.1.RELEASE.jar:1.4.1.RELEASE]
    at org.springframework.boot.SpringApplication.run(SpringApplication.java:1175) [spring-boot-1.4.1.RELEASE.jar:1.4.1.RELEASE]
    at com.s2g.testrestapplication.TestRestApplication.main(TestRestApplication.java:10) [classes/:na]
Caused by: javax.persistence.PersistenceException: [PersistenceUnit: default] Unable to build Hibernate SessionFactory
    at org.hibernate.jpa.boot.internal.EntityManagerFactoryBuilderImpl.persistenceException(EntityManagerFactoryBuilderImpl.java:954) ~[hibernate-entitymanager-5.0.11.Final.jar:5.0.11.Final]
    at org.hibernate.jpa.boot.internal.EntityManagerFactoryBuilderImpl.build(EntityManagerFactoryBuilderImpl.java:882) ~[hibernate-entitymanager-5.0.11.Final.jar:5.0.11.Final]
    at org.springframework.orm.jpa.vendor.SpringHibernateJpaPersistenceProvider.createContainerEntityManagerFactory(SpringHibernateJpaPersistenceProvider.java:60) ~[spring-orm-4.3.3.RELEASE.jar:4.3.3.RELEASE]
    at org.springframework.orm.jpa.LocalContainerEntityManagerFactoryBean.createNativeEntityManagerFactory(LocalContainerEntityManagerFactoryBean.java:353) ~[spring-orm-4.3.3.RELEASE.jar:4.3.3.RELEASE]
    at org.springframework.orm.jpa.AbstractEntityManagerFactoryBean.buildNativeEntityManagerFactory(AbstractEntityManagerFactoryBean.java:373) ~[spring-orm-4.3.3.RELEASE.jar:4.3.3.RELEASE]
    at org.springframework.orm.jpa.AbstractEntityManagerFactoryBean.afterPropertiesSet(AbstractEntityManagerFactoryBean.java:362) ~[spring-orm-4.3.3.RELEASE.jar:4.3.3.RELEASE]
    at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.invokeInitMethods(AbstractAutowireCapableBeanFactory.java:1642) ~[spring-beans-4.3.3.RELEASE.jar:4.3.3.RELEASE]
    at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.initializeBean(AbstractAutowireCapableBeanFactory.java:1579) ~[spring-beans-4.3.3.RELEASE.jar:4.3.3.RELEASE]
    ... 16 common frames omitted
Caused by: org.hibernate.exception.GenericJDBCException: Unable to obtain JDBC Connection
    at org.hibernate.exception.internal.StandardSQLExceptionConverter.convert(StandardSQLExceptionConverter.java:47) ~[hibernate-core-5.0.11.Final.jar:5.0.11.Final]
    at org.hibernate.engine.jdbc.spi.SqlExceptionHelper.convert(SqlExceptionHelper.java:109) ~[hibernate-core-5.0.11.Final.jar:5.0.11.Final]
    at org.hibernate.engine.jdbc.spi.SqlExceptionHelper.convert(SqlExceptionHelper.java:95) ~[hibernate-core-5.0.11.Final.jar:5.0.11.Final]
    at org.hibernate.tool.schema.extract.internal.ExtractionContextImpl.getJdbcConnection(ExtractionContextImpl.java:65) ~[hibernate-core-5.0.11.Final.jar:5.0.11.Final]
    at org.hibernate.tool.schema.extract.internal.ExtractionContextImpl.getJdbcDatabaseMetaData(ExtractionContextImpl.java:75) ~[hibernate-core-5.0.11.Final.jar:5.0.11.Final]
    at org.hibernate.tool.schema.extract.internal.InformationExtractorJdbcDatabaseMetaDataImpl.locateTableInNamespace(InformationExtractorJdbcDatabaseMetaDataImpl.java:339) ~[hibernate-core-5.0.11.Final.jar:5.0.11.Final]
    at org.hibernate.tool.schema.extract.internal.InformationExtractorJdbcDatabaseMetaDataImpl.getTable(InformationExtractorJdbcDatabaseMetaDataImpl.java:241) ~[hibernate-core-5.0.11.Final.jar:5.0.11.Final]
    at org.hibernate.tool.schema.extract.internal.DatabaseInformationImpl.getTableInformation(DatabaseInformationImpl.java:105) ~[hibernate-core-5.0.11.Final.jar:5.0.11.Final]
    at org.hibernate.tool.schema.internal.SchemaMigratorImpl.doMigrationToTargets(SchemaMigratorImpl.java:162) ~[hibernate-core-5.0.11.Final.jar:5.0.11.Final]
    at org.hibernate.tool.schema.internal.SchemaMigratorImpl.doMigration(SchemaMigratorImpl.java:60) ~[hibernate-core-5.0.11.Final.jar:5.0.11.Final]
    at org.hibernate.tool.hbm2ddl.SchemaUpdate.execute(SchemaUpdate.java:134) ~[hibernate-core-5.0.11.Final.jar:5.0.11.Final]
    at org.hibernate.tool.hbm2ddl.SchemaUpdate.execute(SchemaUpdate.java:101) ~[hibernate-core-5.0.11.Final.jar:5.0.11.Final]
    at org.hibernate.internal.SessionFactoryImpl.<init>(SessionFactoryImpl.java:472) ~[hibernate-core-5.0.11.Final.jar:5.0.11.Final]
    at org.hibernate.boot.internal.SessionFactoryBuilderImpl.build(SessionFactoryBuilderImpl.java:444) ~[hibernate-core-5.0.11.Final.jar:5.0.11.Final]
    at org.hibernate.jpa.boot.internal.EntityManagerFactoryBuilderImpl.build(EntityManagerFactoryBuilderImpl.java:879) ~[hibernate-entitymanager-5.0.11.Final.jar:5.0.11.Final]
    ... 22 common frames omitted
Caused by: com.atomikos.jdbc.AtomikosSQLException: Connection pool exhausted - try increasing 'maxPoolSize' and/or 'borrowConnectionTimeout' on the DataSourceBean.
    at com.atomikos.jdbc.AtomikosSQLException.throwAtomikosSQLException(AtomikosSQLException.java:46) ~[transactions-jdbc-3.9.3.jar:na]
    at com.atomikos.jdbc.AbstractDataSourceBean.throwAtomikosSQLException(AbstractDataSourceBean.java:90) ~[transactions-jdbc-3.9.3.jar:na]
    at com.atomikos.jdbc.AbstractDataSourceBean.throwAtomikosSQLException(AbstractDataSourceBean.java:85) ~[transactions-jdbc-3.9.3.jar:na]
    at com.atomikos.jdbc.AbstractDataSourceBean.getConnection(AbstractDataSourceBean.java:347) ~[transactions-jdbc-3.9.3.jar:na]
    at com.atomikos.jdbc.AbstractDataSourceBean.getConnection(AbstractDataSourceBean.java:394) ~[transactions-jdbc-3.9.3.jar:na]
    at org.hibernate.engine.jdbc.connections.internal.DatasourceConnectionProviderImpl.getConnection(DatasourceConnectionProviderImpl.java:122) ~[hibernate-core-5.0.11.Final.jar:5.0.11.Final]
    at org.hibernate.engine.jdbc.env.internal.JdbcEnvironmentInitiator$ConnectionProviderJdbcConnectionAccess.obtainConnection(JdbcEnvironmentInitiator.java:180) ~[hibernate-core-5.0.11.Final.jar:5.0.11.Final]
    at org.hibernate.tool.schema.extract.internal.ExtractionContextImpl.getJdbcConnection(ExtractionContextImpl.java:62) ~[hibernate-core-5.0.11.Final.jar:5.0.11.Final]
    ... 33 common frames omitted
==============================
Pom.xml file
<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
    xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
    <modelVersion>4.0.0</modelVersion>

    <groupId>com.s2g.testrestapplication</groupId>
    <artifactId>testrestapplication</artifactId>
    <version>0.0.1-SNAPSHOT</version>
    <packaging>jar</packaging>

    <name>TestRestApplication</name>
    <description>Demo project for Spring Boot</description>

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

    <properties>
        <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
        <project.reporting.outputEncoding>UTF-8</project.reporting.outputEncoding>
        <java.version>1.8</java.version>
    </properties>

    <dependencies>
        <dependency>
            <groupId>io.springfox</groupId>
            <artifactId>springfox-swagger2</artifactId>
            <version>2.2.2</version>
        </dependency>

        <dependency>
            <groupId>io.springfox</groupId>
            <artifactId>springfox-swagger-ui</artifactId>
            <version>2.2.2</version>
        </dependency>
        <dependency>
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-starter-security</artifactId>
        </dependency>
        <dependency>
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-starter-web</artifactId>
        </dependency>

        <dependency>
            <groupId>mysql</groupId>
            <artifactId>mysql-connector-java</artifactId>
            <scope>runtime</scope>
        </dependency>
        <dependency>
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-starter-test</artifactId>
            <scope>test</scope>
        </dependency>
        <dependency>
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-starter-data-jpa</artifactId>
        </dependency>
        <dependency>
            <groupId>org.opensaml</groupId>
            <artifactId>opensaml-saml-api</artifactId>
            <version>3.1.1</version>
        </dependency>
        <dependency>
            <groupId>org.apache.commons</groupId>
            <artifactId>commons-lang3</artifactId>
            <version>3.0</version>
        </dependency>
        <dependency>
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-starter-jersey</artifactId>
        </dependency>
        <dependency>
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-starter-jta-atomikos</artifactId>
        </dependency>
    </dependencies>

    <build>
        <plugins>
            <plugin>
                <groupId>org.springframework.boot</groupId>
                <artifactId>spring-boot-maven-plugin</artifactId>
            </plugin>
        </plugins>
    </build>


</project>
thevikasdube
fuente
3
Claramente, el "error" que obtuvo fue en realidad "Causado por: com.atomikos.jdbc.AtomikosSQLException: Grupo de conexiones agotado - intente aumentar 'maxPoolSize' y / o 'EgyptSourceBean' en el DataSourceBean".
Neil Stockton

Respuestas:

78

Comenzaría agregando la siguiente dependencia:

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

y

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

ACTUALIZAR : O simplemente agregue la siguiente dependencia.

<dependency>
        <groupId>javax.xml.bind</groupId>
        <artifactId>jaxb-api</artifactId>
        <version>2.3.0</version>
</dependency>
pastel de cumpleaños
fuente
33
@ georges-van Encontré el mismo error, y las 2 dependencias que mencionaste ya están presentes en spring-boot-starter-data-jpaRecibo el siguiente error. anotepad.com/notes/wpjr5g
@georgesvan ya tengo los frascos anteriores que mencionaste importados de Spring Boot. Lo que piensas puede ser la razón de este mismo error. Me enfrento al mismo problema cuando agrego dependencias relacionadas con la hibernación. Cuando utilizo archivos java del paquete javax.persistence, todo está bien, pero cuando uso cualquier archivo java del paquete org.hibernate, aparece exactamente el mismo error.
user641887
1
Simplemente use las mismas versiones que se mencionaron en la publicación.
Shahab A
4
@georges, thevikasdube ya está usando la dependencia spring-boot-starter-data-jpa que incluye Hibernate. ¿Alguna razón por la que debería incluir dependencias de hibernación explícitamente?
Mav55
6
FYI hibernate-entitymanagerahora está en desuso. Utilice (solo) en su hibernate-corelugar.
Bohemio
74

Las personas que usan java 9 incluyen esta dependencia: -

<dependency>
        <groupId>javax.xml.bind</groupId>
        <artifactId>jaxb-api</artifactId>
        <version>2.3.0</version>
</dependency>
Rahul Jangra
fuente
4
Para aquellos interesados ​​en saber por qué las versiones posteriores a Java 8 requieren esta inclusión explícita, hay un artículo interesante aquí; baeldung.com/java-9-jaxbexception , básicamente está relacionado con la introducción de Java 9 del sistema modular y un intento de reducir todas las bibliotecas que no son esenciales ...
Opentuned
Esto funcionó para mí aunque estoy usando Java 8, gracias.
ahmetcetina
¿Qué podría ser esto para gradle?
FlexEast
Esto resolvió; y problema, gracias
bileleleuch
18

Agregar dependencias no solucionó el problema por mi parte.

El problema estaba sucediendo en mi extremo debido a campos "adicionales" que son parte de la clase "@Entity" y no existen en la base de datos.

Eliminé los campos adicionales de la clase @Entity y funcionó.

Buena suerte.

JAD
fuente
1
¿Qué quieres decir con campos adicionales? ¿Podría dar más información sobre esto? tengo el mismo problema ahora
Bandham Manikanta
Me refiero a propiedades adicionales que no existen en la base de datos, como enteros privados / públicos
etc.
Trabajó.! En mi clase Entity, había dos constructores (arg, no-arg). Los eliminé y funcionó. Gracias @JAD. codificación feliz.
Bandham Manikanta
Sí, este problema puede estar relacionado con un problema en cualquiera de las clases de entidad.
zee
¡Trabajó! El error no fue un problema de configuración de administrador de entidad o dependencia. El problema era el de mi clase de entidad. Después de que creé mis clases de entidad con la ayuda del administrador de persistencia, el problema se resolvió. Gracias.
Peter
9

También enfrenté el mismo problema. Estaba usando Java9 y la siguiente dependencia en el archivo 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>

El problema se resolvió después de agregar la siguiente dependencia en pom:

    <dependency>
        <groupId>javax.xml.bind</groupId>
        <artifactId>jaxb-api</artifactId>
        <version>2.3.0</version>
    </dependency>
GG
fuente
8
Este es un duplicado de la respuesta de Rahul Jangra: stackoverflow.com/a/49707331/636009
David Conrad
7

Sospecho que los archivos jar hibernate-corey las hibernate-entitymanagerdependencias están dañados o no se instalaron correctamente en su máquina.

Le sugiero que simplemente elimine las carpetas nombradas hibernate-corey hibernate-entitymanagerde su repositorio local de Maven y Maven las reinstalará.

La ubicación predeterminada del repositorio local de Maven es C:\Documents and Settings\[USERNAME]\.m2Windows o ~/.m2Linux / Mac.

Hesham Usama
fuente
Me funcionó, había actualizado la versión de arranque de primavera de 1.5 a 2.3 y recibía este error.
Ali786
Eliminé mi repositorio completo y funciona. Resolvió este y muchos otros errores con el arranque de primavera
Eduardo Pascual Aseff
5

En mi caso, eliminar cualquiera de las anotaciones a continuación hace que se muestre el mensaje de error 'entityManagerFactory', por ejemplo.

 @Id
  @GeneratedValue(strategy=GenerationType.AUTO)

o

@ManyToMany(targetEntity=listOfObject_x.class)

El mensaje de error desaparece después de agregar las anotaciones que faltan.

package mypackage_unameit;
import javax.persistence.PrePersist;
import javax.validation.constraints.NotNull;
import javax.validation.constraints.Size;

import lombok.Data;

@Data
@Entity
public class Someclasss {

  @Id
  @GeneratedValue(strategy=GenerationType.AUTO)
  private Long id;

  @NotNull
  @Size(min=5, message="Name must be at least 5 characters long")
  private String name;

  private Date createdAt;

  @ManyToMany(targetEntity=listOfObject_x.class)
  @Size(min=1, message="You must choose at least 1 ingredient")
  private List<listOfObject_x>   = new ArrayList<>();

  @PrePersist
  void createdAt() {
    this.createdAt = new Date();
  }
}
zee
fuente
5

Tengo jdk-12.0.2.jdk, he encontrado una solución al problema, agrego dependencias 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>
Diego Santa Cruz Mendezú
fuente
1
Gracias, yo también uso JDK 12 y este es el único que funciona para mí.
el AnT
¿Alguien puede explicar por qué agregar estas dependencias resolvió el error para algunos de nosotros?
Keegs
4

Para aquellos que usan Gradle en lugar de Maven, agregue esto a las dependencias en su archivo de compilación:

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

Resolví el mío actualizando las versiones de dependencias de primavera de 2.0.4 a 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>

a

<parent>
        <groupId>org.springframework.boot</groupId>
        <artifactId>spring-boot-starter-parent</artifactId>
        <version>2.1.6.RELEASE</version>
        <relativePath /> <!-- lookup parent from repository -->
</parent>
soscler
fuente
Probé todas las soluciones anteriores, ¡pero solo esto funciona para mí! ¡Salva mi día!
Harriet.O
2

Para mi caso, se debió a Intellij IDEA por defecto, configuró Java 11 como SDK del proyecto predeterminado, pero el proyecto se implementó en Java 8. He cambiado "Project SDK" en Archivo -> Estructura del proyecto -> Proyecto (en Configuración del proyecto)

Daniyar
fuente
Este también fue mi problema, cuando intentas abrir un proyecto antiguo que usa Java8 con el nuevo IntellijIDEA descargado, esta es la solución.
fakturk
Para instalar Java8 en macOS - brew cask install adoptopenjdk / openjdk / adoptopenjdk8
fakturk
2

Para aquellos que no están usando JPA y prefieren excluir el entityManagerFactory y usar Spring Data JDBC o Spring JDBC pueden excluir el bean para evitar la excepción

@SpringBootApplication(exclude = {HibernateJpaAutoConfiguration.class})
Mohammad Javed
fuente
1

Pude solucionar el problema cambiando el valor del tamaño máximo del grupo de uno a dos

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

usuario3743729
fuente
1

Intente anotar la clase con @EnableTransactionManagement. Estaba enfrentando el mismo problema y se resolvió agregando esto.

@EnableTransactionManagement
public class ConfigurationBean {
}
VaibhavD
fuente
1

Resolví este problema agregando implementos serializables en el 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 + "]";
    }
  }
Kashyap Neeraj
fuente
1

Este error también puede estar relacionado con el hecho de que tiene un error en su "spring.datasource.url" cuando dio un nombre de base de datos incorrecto, por ejemplo

G. Adnane
fuente
0

use @Id .Trabajó para mí. De lo contrario, arrojaré un error. Depende de si falta algo en su clase de entidad o repositorio

Raj Kumar Mishra
fuente
0

Si usa JDK 1.8.0_201 o el último, inténtelo con JDK anterior.

Tengo el mismo problema con JDK1.8.0_201, sin embargo, funciona con JDK1.8.0_101 sin ningún cambio de código.

Sin2
fuente
0

Para mí, fue el resultado de otro error.

org.postgresql.util.PSQLException: FATAL: falló la autenticación de contraseña para el usuario

Lo que significa que solo necesita revisar sus credenciales de autenticación

Tanel
fuente
0

Mi error se resolvió después de agregar esta dependencia.

<!-- 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>
Lirio
fuente
0

Intente cambiar la versión de primavera. Tuve el mismo problema y eso funcionó para mí.

Nax
fuente
0

Tuve el mismo problema en mi Eclipse Luna. Me doy cuenta de que estoy usando JDK12 y Java 1.8. Cambié JDK a JDK8 y el problema se resolvió. Si desea verificar su JDK en Eclipse, vaya a

Window-> Preferences-> Java- >Installed JREs 

y compruebe si son compatibles con su proyecto. ¡Buena suerte!

Andrés
fuente
0

Para mí, era el nombre de la base de datos en application.properties. Cuando proporcioné el nombre correcto, funcionó bien.

Poçi
fuente
0

Resolví el mío definiendo la anotación de relación inversa para un campo adicional

Anirudh Khanna
fuente
0

Quien todavía tenga el mismo problema. Agregue la siguiente línea en 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
Islam Tareq
fuente
-1

He pasado por un error similar. El error no venía antes, pero recientemente reinstalé mi base de datos de Oracle y cambio el nombre de la instancia de 'xe' a 'orcl', pero me olvido de cambiar este fragmento de código en el archivo de propiedades:

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

Una vez que lo cambio de 'xe' a 'orcl', todo está bien.

RBuser2769569
fuente
-1

El problema puede deberse a conflictos de paquetes. Cuando usa la @Idanotación en una entidad, puede usar el @Idmarco de Spring; sin embargo, debe usar la @Idanotación de la API de persistencia.

Entonces usa la @javax.persistence.Idanotación en las entidades.

oruc
fuente
Si accede a la clase, se refiere a la clase específica con la referencia del paquete a través de la importación. Si lo hace, es un error de tiempo de compilación y se detecta durante cualquier proceso en primer lugar. Por lo tanto, no hay posibilidad de que haya conflicto con @Id con JPA y Spring.
Imam Bux
No estoy seguro de qué pregunta intenta responder, pero no es esta pregunta. Haber anotado (o no) con @Id no dará como resultado un seguimiento de pila de error que diga "
Mark Rotteveel
-2

Intente agregar las siguientes dependencias.

<dependency>
   <groupId>org.springframework.boot</groupId>
   <artifactId>spring-boot-starter-data-jpa</artifactId>
</dependency>
<dependency>
   <groupId>com.h2database</groupId>
   <artifactId>h2</artifactId>
</dependency> 
Pranay Vikram
fuente