Lassana Tounkara
Lassana Tounkara

Reputation: 1

Spring Boot does not recognize my JPA entity in a specific package

I am using Spring Boot and facing an issue with my JPA entity not being recognized as a managed type. I'd appreciate any help to solve this problem.

[ERROR LOG]

2023-10-08T23:13:04.005+02:00 ERROR 68 --- [  restartedMain] o.s.boot.SpringApplication            : Application run failed

org.springframework.beans.factory.BeanCreationException: Error creating bean with name 'usersRepository' defined in com.vaadinapp.vaadinapp.repository.UsersRepository defined in @EnableJpaRepositories declared on VaadinappApplication: Not a managed type: class com.vaadinapp.vaadinapp.model.Users at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.initializeBean(AbstractAutowireCapableBeanFactory.java:1770) ~[spring-beans-6.0.12.jar:6.0.12]

Project Structure:

[Entity: Users:]

 package com.vaadinapp.vaadinapp.model;

import javax.persistence.*; import java.io.Serializable; import java.util.Objects;

@Entity @Table(name = "app_users") public class Users implements Serializable {


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

@Column(nullable = false, unique = true)
private String username;

@Column(nullable = false)
private String password;

@Column(nullable = false)
private String email;

public Users() {
    // Default constructor for JPA
}

public Users(String username, String password, String email) {
    this.username = username;
    this.password = password;
    this.email = email;
}

// ... getters, setters, toString, hashCode, and equals methods

}

[POM.XML]

<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 https://maven.apache.org/xsd/maven-4.0.0.xsd"> <modelVersion>4.0.0</modelVersion> <parent> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-parent</artifactId> <version>3.1.4</version> <relativePath/> <!-- lookup parent from repository --> </parent> <groupId>com.vaadinapp</groupId> <artifactId>vaadinapp</artifactId> <version>0.0.1-SNAPSHOT</version> <name>vaadinapp</name> <description>Demo project for Spring Boot</description> <properties> <java.version>19</java.version> </properties>
<repositories>
    <repository>
        <id>vaadin-addons</id>
        <url>https://maven.vaadin.com/vaadin-addons</url>
    </repository>
</repositories>

<dependencies>
    <dependency>
        <groupId>org.springframework.boot</groupId>
        <artifactId>spring-boot-starter-data-jpa</artifactId>
    </dependency>
    <dependency>
        <groupId>javax.persistence</groupId>
        <artifactId>javax.persistence-api</artifactId>
        <version>2.2</version>
    </dependency>
    <dependency>
        <groupId>org.hibernate</groupId>
        <artifactId>hibernate-core</artifactId>
        <version>5.6.0.Final</version>
    </dependency>
    <dependency>
        <groupId>org.postgresql</groupId>
        <artifactId>postgresql</artifactId>
    </dependency>



    <dependency>
        <groupId>org.springframework.boot</groupId>
        <artifactId>spring-boot-starter-web</artifactId>
        <exclusions>
            <exclusion>
                <groupId>org.yaml</groupId>
                <artifactId>snakeyaml</artifactId>
            </exclusion>
        </exclusions>
    </dependency>
    <dependency>
        <groupId>org.springframework.boot</groupId>
        <artifactId>spring-boot-devtools</artifactId>
        <scope>runtime</scope>
        <optional>true</optional>
    </dependency>


    <dependency>
        <groupId>com.vaadin</groupId>
        <artifactId>vaadin-spring-boot-starter</artifactId>
        <version>24.1.11</version>
    </dependency>
    <dependency>
        <groupId>org.springframework.boot</groupId>
        <artifactId>spring-boot-starter-test</artifactId>
        <scope>test</scope>
    </dependency>
    <dependency>
        <groupId>ch.qos.logback</groupId>
        <artifactId>logback-classic</artifactId>
    </dependency>
    <dependency>
        <groupId>org.slf4j</groupId>
        <artifactId>slf4j-api</artifactId>
    </dependency>
</dependencies>
<build>
    <plugins>
        <plugin>
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-maven-plugin</artifactId>
        </plugin>
    </plugins>
</build>
//[application.properties]

server.port=8081 logging.level.org.springframework=DEBUG spring.datasource.url=jdbc:postgresql://localhost:5432/budgetwize_db spring.datasource.username=u_budgetwize spring.datasource.password=budgetwize2023@ spring.jpa.hibernate.ddl-auto=update spring.jpa.properties.hibernate.dialect=org.hibernate.dialect.PostgreSQL10Dialect spring.jpa.show-sql=true logging.level.org.hibernate.SQL=DEBUG

I've checked the project structure, annotations, and dependencies, but I can't seem to find a solution. Any insights would be greatly appreciated.

Upvotes: 0

Views: 1124

Answers (0)

Related Questions