Pessoal é o seguinte,
Eu tenho um relacionamento como segue abaixo:
public class Projeto implements Serializable {
@OneToMany(mappedBy = "projeto", cascade = CascadeType.ALL)
private List<Sprint> sprints;
// outros atributos
Na classe relacionada eu tenho:
public class Sprint implements Serializable {
@ManyToOne(cascade = CascadeType.ALL)
@JoinColumn(name="projeto_id", referencedColumnName = "id")
private Projeto projeto;
// outros atributos
Ao realizar testes eu vi que ele gera na tabela sprint uma coluna projeto_id, porém vazia sendo que deveria ter o id do projeto…
Onde eu estou errando?
Estou usando postgres e tenho todas as sequences criadas…
Obrigado
Já tentou assim?
public class Sprint implements Serializable {
@ManyToOne(cascade = CascadeType.ALL)
private Projeto projeto;
}
Cara eu tentei mas não funcionou tbm da uma olhada aqui https://github.com/rafaeljesus/agile/blob/master/src/test/java/br/com/agile/domain/repository/TesteProjetoReposiroty.java
Essa é minha classe teste…meu projeto como pode ver nas entidades é assim:
Projeto @OneToMany Sprint @OneToMany Item @OneToMany Tarefa, ou seja na tabela sprint eu vou ter o id do projeto, na tebela item eu vou ter o id do sprint, etc…
Ele cria a coluna mas ao rodar os testes ele não salva nada na coluna relacionada…
Eu acredito que o Hibernate fas assim:
Ao salvar um projeto ele salva primeiro a lista de sprints, que tem uma lista de itens, que tem uma lista de tarefas…
Ai por exemplo primeiro ele salva a tarefa que é o ultimo filho porém sem o ID do Item que não foi salvo anteriormente, depois salva o Item sem o ID do sprint, depois salva o sprint sem o ID do projeto, aii então ele salva o projeto e po consequência o bendito ID é salvo…
Deu pra enteder??
Da uma olhada no meu código lá…
Vlw
IAe pessoal níguém??
Tudo que eu quero fazer é ao salvar um projeto, ter o id do projeto na tabela sprint???