Hibernate

Estou com problemas em persistir dados relacionados. Quando persisto os dados individualmente, como no exemplo:

session.save(a); session.save(b); C c = new C(a,b); session.save(c);

Funciona perfeito.

Agora quando tento persistir diretamento as informações, como neste caso:

C c = new C(new A(), new B()); session.save(c);

Os valores de A e B quando lidos ficam errados.

Se era para ser A = 5 e B = 1, quando eu leio esses valores são aleatorios, A= 10 e B = 99 por exemplo.

Estou usando cascade ALL.

Alguem pode me dar uma luz, por favor?