1
resposta

Não consigo conectar a tabela

Boa tarde.

Não estou conseguindo visualizar as unidades de trabalhos ja cadastradas durante o cruso, tentei alterar, disse que salvo, mas vou no banco de dados e não mudou nada. Quando tendo fazer um select no banco na tabela cargos, da erro.

se alguém puder me ajudar.

grato;

package br.com.alura.spring.data.service;

import java.util.Scanner;

import org.springframework.stereotype.Service;

import br.com.alura.spring.data.orm.UnidadeTrabalho;
import br.com.alura.spring.data.repository.UnidadeTrabalhoRepository;

@Service
public class CrudUnidadeTrabalhoService {

    private Boolean system = true;
    private final UnidadeTrabalhoRepository unidadeTrabalhoRepository;

    public CrudUnidadeTrabalhoService(UnidadeTrabalhoRepository unidadeTrabalhoRepository) {
        this.unidadeTrabalhoRepository = unidadeTrabalhoRepository;
    }

    public void inicial(Scanner scanner) {
        while (system) {
            System.out.println("Qual ação de cargo deseja executar");
            System.out.println("0 - Sair");
            System.out.println("1 - Cadastrar");
            System.out.println("2 - Atualizar");
            System.out.println("3 - Visualizar");
            System.out.println("4 - Deletar");

            int action = scanner.nextInt();

            switch (action) {
            case 1:
                salvar(scanner);
                break;
            case 2:
                atualizar(scanner);
                break;
            case 3:
                visualizar();
                break;
            case 4:
                deletar(scanner);
                break;
            default:
                system = false;
                break;
            }
        }
    }

    private void salvar(Scanner scanner) {
        System.out.println("Nome da unidade: ");
        String nome = scanner.next();
        System.out.println("Endereço: ");
        String endereco = scanner.next();

        UnidadeTrabalho unidadeTrabalho = new UnidadeTrabalho();
        unidadeTrabalho.setDescricao(nome);
        unidadeTrabalho.setEndereco(endereco);

        unidadeTrabalhoRepository.save(unidadeTrabalho);
        System.out.println("Salvo!!!");
    }

    private void atualizar(Scanner scanner) {
        System.out.println("Numero do Id: ");
        Integer id = scanner.nextInt();
        System.out.println("Nome da unidade: ");
        String nome = scanner.next();
        System.out.println("Endereço: ");
        String endereco = scanner.next();

        UnidadeTrabalho unidadeTrabalho = new UnidadeTrabalho();
        unidadeTrabalho.setId(id);
        unidadeTrabalho.setDescricao(nome);
        unidadeTrabalho.setEndereco(endereco);
        unidadeTrabalhoRepository.save(unidadeTrabalho);
        System.out.println("Atualizado/Alterado!!!");
    }

    private void visualizar() {
        Iterable<UnidadeTrabalho> unidades = unidadeTrabalhoRepository.findAll();
        unidades.forEach(unidade -> System.out.println(unidade));
    }

    private void deletar(Scanner scanner) {
        System.out.println("Id");
        int id = scanner.nextInt();
        unidadeTrabalhoRepository.deleteById(id);
        System.out.println("Deletado");
    }

}

package br.com.alura.spring.data.orm;

import java.util.List;

import javax.persistence.Entity;
import javax.persistence.FetchType;
import javax.persistence.GeneratedValue;
import javax.persistence.GenerationType;
import javax.persistence.Id;
import javax.persistence.ManyToMany;
import javax.persistence.Table;

@Entity
@Table(name = "unidade_trabalho")
public class UnidadeTrabalho {

    @Id
    @GeneratedValue(strategy = GenerationType.IDENTITY)
    private Integer id;
    private String descricao;
    private String endereco;
    @ManyToMany(mappedBy = "unidadeTrabalhos", fetch = FetchType.EAGER)
    private List<Funcionario> funcionarios;

    public UnidadeTrabalho() {
    }

    public UnidadeTrabalho(String descricao, String endereco) {
        super();
        this.descricao = descricao;
        this.endereco = endereco;
    }

    public Integer getId() {
        return id;
    }

    public void setId(Integer id) {
        this.id = id;
    }

    public String getDescricao() {
        return descricao;
    }

    public void setDescricao(String descricao) {
        this.descricao = descricao;
    }

    public String getEndereco() {
        return endereco;
    }

    public void setEndereco(String endereco) {
        this.endereco = endereco;
    }

    public List<Funcionario> getFuncionarios() {
        return funcionarios;
    }

    public void setFuncionarios(List<Funcionario> funcionarios) {
        this.funcionarios = funcionarios;
    }

    @Override
    public String toString() {
        return "Unidades: " + " id:" + id + "| descricao: " + descricao + "| endereco: " + endereco;
    }

}
1 resposta

Olá Thiago, tudo bem?

Uma possível solução para o problema é verificar se as informações estão sendo salvas corretamente no banco de dados. É importante lembrar que, ao fazer alterações no código, é necessário reiniciar a aplicação para que as mudanças tenham efeito.

Outra opção é verificar se as configurações do banco de dados estão corretas no arquivo "application.properties". Certifique-se de que as informações de usuário, senha, nome do banco de dados e porta estão corretas.

Além disso, é importante verificar se as entidades e repositórios estão sendo mapeados corretamente. No código que você compartilhou, parece que a entidade "UnidadeTrabalho" está sendo mapeada corretamente, mas é importante verificar se as outras entidades também estão sendo mapeadas corretamente.

Espero que essas dicas possam ajudá-lo a resolver o problema. Se ainda tiver dúvidas, não hesite em perguntar.

Espero ter ajudado e bons estudos!