Hibernate salva objetos de FK automaticamente?

Olá…
Gostaria de saber se o hibernate salva objetos de FK automaticamente…
Analisando a situação para se entender melhor… Um exemplo simples para explicar
Tenho uma tabela chamada cliente… e tenho a tabela cidades… no hibernate, eu trabalharia com objetos de clientes, em que dentro do objeto clientes possuiria o objeto cidades…certo…
Então se eu modificar o nome do cliente por exemplo e salvar…obviamente o hibernate vai lá na tabela do banco e dá um update no nome do cliente.
Mas… se eu modificar por exemplo o nome da cidade no objeto cidade… e dar um salvar no cliente… o hibernate vai salvar os dados na tabela cidade, pois o objeto cidade esta relacionado com o cliente, ou ele só vai verificar se foi modificado algum dado do cliente?

bom dia, olha isso vai depender de como estiver seu mapeamento da lista de cidades dentro do objeto cliente, sob a lista você pode informar opções de cascade, é claro que ao carregar o objeto cliente você deverá ter uma lista com todas as cidades daquele cliente com os dados da cidade inclusive ID, caso queira alterar uma descrição da cidade terá que percorrer a lista de cidades que tem dentro de cliente e alterá-la, ao salvar o cliente o hibernate verá como está seu mapeamento de lista de cidades assim poderá ou não alterar a cidade.

Depende! No Hibernate, na anotação de OneToMany, ManyToOne e afins, existe um atributo chamado cascade. Neste atributo, você determina o que quer que aconteça com as entidades relacionadas (apagá-las quando apagar a própria entidade, salvá-las quando deseja salvar a entidade… ). Enfim…