Dúvida mapeamento xml

Já peço perdão por minha pergunta, porém sou novato em programação e principalmente no hibernate…

Estou dando manutenção à um projeto onde eu tenho uma classe POJO mapeada em XML cujo nome é Agencia.

(Classe)
Agencia

long idAgencia
int codEstadoIbge
int codMunicipio

(Tabela)
AGENCIA

ID_AGENCIA
COD_ESTADO_IBGE
COD_MUNICIPIO

O problema é que eu tenho que retornar na tela do usuário o NOME do Município dessa Agencia.
O detalhe principal é que a classe Municipio já está implementanda em um componente/biblioteca que já está importada no projeto. O mesmo ocorre com a classe Estado.
Verificando o código fonte desse componente, verifiquei que o existe uma classe que funciona como ID do Municipio, a MunicipioId. Segue abaixo a implementação das classes:

(Classe)
Estado

int teEstadoIbge (Número do estado de acordo com o IBGE)
String teDescricao (Nome do estado)
String teSigla (Sigla do estado)

(Tabela)
ESTADO

TE_ESTADO_IBGE
TE_DESCRICAO
TE_SIGLA

(Classe)
Municipio

MunicipioId id (ID do município)
String tmDescricao (Nome do Município)

(Tabela)
Municipio

TM_ESTADO_IBGE (Número do estado de acordo com o IBGE)
TM_MUNICIPIO (Número do município de acordo com o IBGE)
TM_DESCRICAO

(Classe)
MunicipioId

int tmEstadoIbge
int tmMunicipio

(Tabela)
Não há tabela.

O mapeamento das classes Estado, Municipio e MunicipioId foi feito com annotations, mas o da classe Agencia é em XML.

Como eu deveria fazer para que quando eu buscar um registro de Agencia, o hibernate trazer também a informação do Municipio correspondente?

Se não foi possível entender o meu problema, podem falar que eu tentarei explicar melhor.

Observações:
A tabela Agencia está em um banco de dados diferente das tabelas anteriormente citadas.