Não fica nervoso cara…
Acho que quem não le o que ta escrito é vc
Se eu adiciono alguma coisa ao meu codigo e um simples 1-N não funciona, acho que alguma coisa esta errado, certo?
E eu fiz uma pergunta clara e direta, se vc retirar a parte do codigo que vc diz que funciona perfeitamente o que acontece?
Pq se funcionar, me parece obvio que o problema esta nessa parte do codigo.
No mais… boa sorte
[]´s
Nem to nervoso cara… Se estivesse, eu já teria parado de responder…
E não é o 1-N que não funciona. Poxa, você não entendeu o problema ainda?
Eu tenho uma instância de AddressVO. Estou prestes a salvar essa instância na Session do Hibernate. Debugando, descobri que a propriedade lazy do meu AddressVO está como false e que o atributo city do meu AddressVO aponta para null. Como você sabiamente observou, por não existir regra de Cascade nesse @ManyToOne, se o objeto que eu referencio (CityVO) não for persistido antes, eu terei o TransientObjectException. Mas como eu já falei, a referência está null. A FK no banco deveria ficar NULL. Está tudo certo. O problema é que o Hibernate, de alguma forma, está criando esse CityVO em algum momento após o flush().
Note que eu nem estou culpando o Hibernate, até mesmo porque se for eu que estiver fazendo merda, eu arrumaria o que tivesse que arrumar; mas eu quero saber pelo menos porque o que eu estou fazendo é uma merda.
Quer saber o resultado de um teste que eu fiz?
public CityVO getCity() {
if(isLazy() && this.city == null) {
this.city = new CityVO();
}
return this.city;
}
Coloque um breakpoint na terceira linha (que é onde eu instancio um CityVO se a propriedade lazy estiver true (lembrando que está FALSE).
Debugando no Eclipse 3.4.1 (Ganymede), em nenhum momento o depurador parou nessa linha.
Será que eu consegui transcrever o cenário completo, dessa vez?
Respondendo à sua pergunta, se eu retirar o código que funciona perfeitamente vai parar de funcionar. Mas sinceramente não entendi a sua pergunta… É como falar: se no seu ERP você remover o módulo de Notas Fiscais, esse módulo vai continuar funcionando?
Um abraço. Sorte? Pelo jeito estou precisando… Embora pelo menos neste tópico estou tendo resposta… No fórum do Hibernate não tive nenhuma notícia…