Boa noite pessoal.
Estou com um problema num projetinho que estou fazendo em Java usado Hibernate.
Tenho a entidade pai Time que possui uma lista de jogadores:
@Entity
public class Time {
@Id
@GeneratedValue(strategy = GenerationType.IDENTITY)
private Long id;
@Column(name = "nome_time")
private String nomeTime;
@OneToMany(mappedBy = "time", cascade = CascadeType.ALL, fetch = FetchType.LAZY)
private List<Jogador> jogadores = new ArrayList<>();
.......... Getters e Setters
E a entidade filha Jogador:
@Entity
public class Jogador {
@Id
@GeneratedValue(strategy = GenerationType.IDENTITY)
private Long id;
@ManyToOne(fetch = FetchType.LAZY)
@JsonIgnore
private Time time;
@Column(name = "nome_jogador")
private String nomeJogador;
......... Getters e Setters
Acontece que ao fazer a gravação no banco ele não está colocando o id do pai (campo time_id) na tabela dos jogadores, está ficando NULL.
O meu service está assim:
public Time novoTime(TimeFormulario timeFormulario) {
Time time = new Time();
time.setNomeTime(timeFormulario.getNomeTime());
List<Jogador> jogadores = new ArrayList<>();
for (JogadorTimeFormulario jogadorForm : timeFormulario.getJogadores()) {
Jogador jogador = new Jogador();
jogador.setNomeJogador(jogadorForm.getNomeJogador);
jogadores.add(jogador);
}
time.setJogadores(jogadores ;
final Time timeCriado = timeRepository.salvarTime(time);
return timeCriado;
}
E o TimeRepository:
@Transactional
public Time salvarTime(Time time) {
entityManager.persist(time);
return time;
}
Já procurei em tudo que é canto e nada resolve. Mesmo assim pode ser que já tenha um tópico aqui com este erro, porém não achei, mas caso tenha já peço desculpas.