Pessoal, tenho um metodo que deve ser atomico, ou seja, ou faz tudo ou nao faz nada no banco de dados, para tanto, cerquei ele com uma transação, utilizo o hibernate, neste meu metodo eu crio um objeto X e salvo ele no BD, dai logo em seguida, no mesmo metodo, eu crio um objeto Z em que a chave composta dele é formada pelo objeto X, recém criado, mas que ainda não foi comitado e o que tá acontecendo é que entao ao mandar salvar o objeto Z é lançada uma exceção que fala que não é possivel fazer o insert pois o X não existe, e não existe mesmo pois ainda não dei o commit no final do metodo. O que me intrigou é porque o hibernate lança essa exceção antes do final da transação (no commiit) que seria quando o X seria realmente gravado no BD, ou seja, se é uma transação ele deveria fazer tal verificação somente no commit. Alguem imagina o que possa estar acontecendo, para usar transação no hibernate é preciso setar alguma propriedade no hibernate.cfg?
Tem como postar o trecho do codigo que faz isso, naum consegui abstrair!
[]'s