1
resposta

OneToMany Many to One Não insere dado de outra tabela na classe principal

Oi Pessoal,

Estou com dificuldade em encontrar o erro no projetinho abaixo. Meu Repository de Categoria diz estar null, porém ele funciona no controller no método GET para buscar a lista, mas não funciona na busca por ID. Segue código abaixo das Classes, controller e repository.

Objeto Vídeo:

Classe Video

Classe de Categoria:

Classe categoria

Controller:

Controller

Classe de Serviço que fiz como o professor ensinou:

Service

Getters e Setters... setCategoria_Id:

Insira aqui a descrição dessa imagem para ajudar na acessibilidade

metodo que busca por id da categoria:

Insira aqui a descrição dessa imagem para ajudar na acessibilidade

Repository:

Insira aqui a descrição dessa imagem para ajudar na acessibilidade

Fui rodar agora para printar o erro e não veio o aviso, mas ele não insere no banco. Ele esta recebendo os dados do form direitinho, mas não transoforma em video no Service por causa da categoria_id. Ja rodei a internet e mudei um monte de coisa, nada funcionou. Aguardo por um help!! Tks

1 resposta

Oi Priscila,

Estou vendo seu código, eu já vi alguns probleminhas, vamos lá se a gente consegue chegar do outro lado:

1 Notei que está usando findAll() para buscar categoria por a ID, isso não é melhor forma de fazer isso, o correto é usar categoriaRepository.findById(id); Segunda questão que terias que validar retorno para ter certeza que encontrou a categoria.

A classe VideoService não é serviço, na verdade você deveria usar o conceito de DTO. E não necessidade da notação @Service.

Agora no videoNovo quando passas para salvar, todos os video teriam que ter a relação com o banco, teria entender melhor como você está passando essa lista no video.