Problemas na criação de objetos com relacionamentos no JPA

Boa noite amigos, venho aqui para apelar para os Universitários já que tentei de tudo e não consegui resolver este problema…
A questão é a seguinte: tenho vários objetos que se relacionam e normalmente não tenho problema na manipulação/inserção deles no banco de dados (Mysql) porém algumas vezes e não sei explicar por que o objeto relacionado dependente fica com o id “zero” causando erro no banco.
Para exemplificar vou contar em detalhes:
Tenho por exemplo a classe fornecedor que tem o objeto endereço dentro dele, quando salvo ou edito ele normalmente faz essas alterações/inserções no banco atrelando um ao outro no relacionamento (um-a-um), porém algumas vezes tenho objeto salvo fornecedor com o endereço com id zero… nunca vi este problema em todos os projetos que trabalhei e estou trabalhando com Hibernate (JPA 2.0) faz tempo… eu uso JSF 2.0, primefaces e Hibernate 3.5 (JPA 2.0) com glassfish 3.2 e banco mysql.
Tenho outras classes que usam endereço como cliente, funcionário e aluno e as vezes têm este mesmo problema, mas tenho outros relacionamentos que possuem este erro e não tem nada a ver com a classe endereço…
Alguém já passou por isso?

Após qual momento você percebe que esse objeto Endereço está com o id 0? Tem certerza que não é um relacionamento “lazy” que simplesmente ainda não foi inicializado?

Legal que você falou, falou, falou, mas não colocou exemplos de como está fazendo os mapeamentos…