Importante

Você está vendo a versão anterior da nova experiência da Alura que estamos preparando para você. Em breve, ela ganha uma identidade visual novinha totalmente pensada em potencializar seus estudos!

1
resposta

[Dúvida] As tabelas não aparecem no Postgres

criei a database no Postgres mas simplesmente não aparece as tabelas como era esperado, segue o meu código:

class Produto:

package com.gerador.de.pedidos.GerandoPedidos.Pastas;

import jakarta.persistence.*;

@Entity
public class Produto {

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

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

    @Column(name = "valor")
    private Double preco;


    public Produto() {}


    public Produto(String nome, Double preco) {
        this.nome = nome;
        this.preco = preco;
    }

    public Long getId() {
        return id;
    }

    public String getNome() {
        return nome;
    }

    public Double getPreco() {
        return preco;
    }
}

class Categoria

package com.gerador.de.pedidos.GerandoPedidos.Pastas;

import jakarta.persistence.Entity;
import jakarta.persistence.Id;

@Entity
public class Categoria {
    @Id
    private Long id;
    private String nome;

    public Categoria() {}


    public Categoria(Long id, String nome) {
        this.id = id;
        this.nome = nome;
    }

    public Long getId() {
        return id;
    }

    public String getNome() {
        return nome;
    }
}

class Pedido

package com.gerador.de.pedidos.GerandoPedidos.Pastas;

import jakarta.persistence.Entity;
import jakarta.persistence.Id;

import java.time.LocalDate;

@Entity
public class Pedido {
    @Id
    private Long id;
    private LocalDate data;

    public Pedido() {}

    public Pedido(Long id, LocalDate data) {
        this.id = id;
        this.data = data;
    }

    public Long getId() {
        return id;
    }

    public LocalDate getData() {
        return data;
    }
}

Repositorio produto:

package com.gerador.de.pedidos.GerandoPedidos.Repository;

import com.gerador.de.pedidos.GerandoPedidos.Pastas.Produto;
import org.springframework.data.jpa.repository.JpaRepository;
import org.springframework.stereotype.Repository;

@Repository
public interface ProdutoRepository extends JpaRepository<Produto, Long> {
}

Repositorio categoria

package com.gerador.de.pedidos.GerandoPedidos.Repository;

import com.gerador.de.pedidos.GerandoPedidos.Pastas.Categoria;
import org.springframework.data.jpa.repository.JpaRepository;
import org.springframework.stereotype.Repository;

@Repository
public interface CategoriaRepository extends JpaRepository<Categoria, Long> {
}

repositorio pedido

package com.gerador.de.pedidos.GerandoPedidos.Repository;

import com.gerador.de.pedidos.GerandoPedidos.Pastas.Pedido;
import org.springframework.data.jpa.repository.JpaRepository;
import org.springframework.stereotype.Repository;

@Repository
public interface PedidoRepository extends JpaRepository<Pedido, Long> {
}

class principal

package com.gerador.de.pedidos.GerandoPedidos;

import com.gerador.de.pedidos.GerandoPedidos.Pastas.Categoria;
import com.gerador.de.pedidos.GerandoPedidos.Pastas.Pedido;
import com.gerador.de.pedidos.GerandoPedidos.Pastas.Produto;
import com.gerador.de.pedidos.GerandoPedidos.Repository.CategoriaRepository;
import com.gerador.de.pedidos.GerandoPedidos.Repository.PedidoRepository;
import com.gerador.de.pedidos.GerandoPedidos.Repository.ProdutoRepository;
import org.springframework.beans.factory.annotation.Autowired;

import java.time.LocalDate;

public class Principal {

    @Autowired
    private PedidoRepository pedidoRepository;
    @Autowired
    private ProdutoRepository produtoRepository;
    @Autowired
    private CategoriaRepository categoriaRepository;
}
1 resposta

Oi, Laila! Tudo bem?

Vamos tentar resolver o problema das tabelas que não aparecem no PostgreSQL. Primeiro, algumas coisas para verificar:

  1. Configuração do application.properties: certifique-se de que o arquivo application.properties está configurado corretamente com as informações do banco de dados PostgreSQL. Ele deve incluir as propriedades para a URL do banco, usuário, senha e a configuração para criar as tabelas automaticamente. Por exemplo:

    spring.datasource.url=jdbc:postgresql://localhost:5432/gerenciador-pedidos
    spring.datasource.username=seu_usuario
    spring.datasource.password=sua_senha
    spring.jpa.hibernate.ddl-auto=update
    

    O spring.jpa.hibernate.ddl-auto deve estar configurado para update ou create para que o Hibernate crie as tabelas automaticamente.

  2. Dependências do projeto: verifique se as dependências do Spring Data JPA e do PostgreSQL estão corretamente configuradas no seu pom.xml (caso esteja usando Maven) ou build.gradle (caso esteja usando Gradle).

  3. Verificação de logs: ao executar a aplicação, verifique os logs para ver se há alguma mensagem de erro ou aviso que possa indicar o que está faltando. O log pode fornecer pistas valiosas sobre o que pode estar errado.

Se todas essas verificações estiverem corretas e ainda assim as tabelas não aparecerem, pode ser necessário revisar os logs de execução para identificar qualquer erro específico que possa estar ocorrendo.

Espero ter ajudado e bons estudos!

Alura Conte com o apoio da comunidade Alura na sua jornada. Abraços e bons estudos!