Galera, to passando por uma situação bizarra aqui com o hibernate. Vou criar a situação hipotética pra explicar meu problema.
Imagine um cenário com 3 classes: Pai, Filho, Esposa
Um Pai tem um lista de filhos.
Um Filho tem uma Esposa.
Esposa em Filho está cascade=save-update
Eu uso hibernate com spring e struts. Em uma action eu mando salvar um Filho que possui um Pai e contém uma esposa (chamo um método insert na action). Em seguida eu chamo um prepareInsert que deveria exibir em uma lista os Filhos do pai. Ou seja, ele faz um retrieve pelo ID do Pai e chama a lista de filhos dele… o que acontece é que o desgraçado não vai no banco pegar os filhos… ou seja, se tinham 2 filhos na lista e eu acabei de inserir o 3º (no banco ele já está com 3) o hibernate mostra apenas os 2 anteriores… muito estranho né? O mais estranho é que isso só acontece quando eu insiro filhos que tenham uma esposa… caso contrário ele traz os filhos certinhos do banco… eu nunca vi isso na minha vida… 
ps: desculpe pelo exemplo maluco, é que se eu fosse explicar com os meus objetos talvez ficasse pior…
um abraço e obrigado desde já.