Classe do tipo A tem um relacionamento 1 para N (composição) com classe do tipo B que tem relacionamento 1 para N (composição) com classe do tipo C.
Instancio objeto A(transiente), instancio coleção de objetos B(todos transientes) e seto esta coleção em A.
Depois instancio uma coleção de objetos C(todos transientes) e seto esta coleção em B.
Levando-se em consideração que configurei o relacionamento de A para B no mapeamento como inverse=“false” (fazendo o objeto A responsável pela persistência do relacionamento) e que setei os dois lados do relacionamento nos objetos. Levando-se em consideração que fiz o mesmo entre B e C.
Quando eu persistir A, a coleção de objetos do tipo B ligada a ela e a coleção de objetos C relacionada a cada objeto B persistirá sem problema?
Trocando em miúdos, relacionamentos cascateados de objetos transientes persistem no hibernate sem problema?
Minha dúvida não é de mapeamento OR. Minha dúvida é sobre comportamento da sessão hibernate numa situação específica supondo que o mapeamento está todo correto e que as referências entre as classes estão todos fechados.
Eu sei que quando tenho um relacionamento 1-N onde, no mapeamento, eu digo ao lado 1 que ele gerencia a transação (colocando inverse=“false” nele) e ambos os lados do relacionamento estão transientes, se eu persistir o objeto do lado 1, o lado N é persistido também.
E queria saber se o lado N tendo outro relacionamento 1-N, também transiente, esse outro relacionamento é persistido.
Depende da forma que você configurou o Cascade dos seus objetos. Procure na refeerência tanto do annotations quando do hibernate core por Cascade pra entender os diversos tipos oferecidos.