Problemas de migração, hibernate 3.3.1.GA para o 3.6.10.Final

Olá, estou com um problema no hibernate 3.6.10.Final, quando rodo a query “from Pessoa pes inner join pes.localNascimento local where pes.localNascimento.nome = 'test’” no hibernate 3.3.1.GA ele gera está query:

SELECT …
FROM PESSOA pessoa0_
INNER JOIN MUNICIPIO municipio1_
ON pessoa0_.LOCNASCIMENTO =municipio1_.CODMUNICIPIO
WHERE municipio1_.NOMMUNICIPIO=‘test’

Rodando a mesma query no hibernate 3.6.10.Final ele gerou a seguinte query:

SELECT …
FROM PESSOA pessoa0_
INNER JOIN MUNICIPIO municipio1_
ON pessoa0_.LOCNASCIMENTO=municipio1_.CODMUNICIPIO,
MUNICIPIO municipio2_
WHERE pessoa0_.LOCNASCIMENTO=municipio2_.CODMUNICIPIO
AND municipio2_.NOMMUNICIPIO=‘test’

Na versão 3.3.1.GA ele gerou um inner join criando o alias municipio1, já na versão 3.6.1.Final ele criou um inner join com o alias municipio1 e uma ligação clássica com o alias municipio2.

Alguém sabe o por que desta diferença entre versões ? Já procurei nos changelog e não achei nada. Infelizmente em nosso projeto temos mais 100 classes e muitas delas o desenvolvedor vez o inner join mas não utilizou o alias acabando em utilizar a chamada direta ao atributo.

Será que não é só trocar o pes.localNascimento.nome = ‘test’" por local.nome = ‘test’"? Apesar de as duas serem 3.x, uma é JPA 1 e a outra já é JPA 2.

Ola rodrigo,
se trocar resolve, só que no momento não conseguimos fazer este ajuste classe por classe, por que é muita classe para ajustar e nosso tempo está curto :frowning: