Problemas com Hibernate

Olá a todos,
estou desenvolvendo uma aplicação usando Hibernate. Esta aplicação tem, entre outras classes, uma classe Cliente e uma Endereço.
A classe Cliente possui como propriedade uma classe Endereço (um endereço pode ter vários clientes, e um cliente pode ter um endereço).
O problema é: Ao inserir um novo Cliente no BD, eu tenho que primeiramente inserir o endereço deste cliente na tabela Endereco e depois recuperar o ID do endereço para poder colocar na propriedade Endereço do Cliente.
Esta é uma solução que estou tentando desenvolver. Gostaria também de saber se é possível o Hibernate fazer este processo automaticamente pra mim, de pegar o endereço, inseri-lo na tabela de endereço e depois inserir o ID dele na tabela de cliente? Caso não haja, alguém tem uma solução?
[]'s
Viviane Grieco