Pergunta

Eu observei que o Hibernate gera diferentes apelidos para as mesmas colunas cada vez que eu tento acessar a mesma tabela:

Hibernate: select person0_.id as id0_0_, person0_.nam as nam0_0_, person0_.fam as fam0_0_, person0_.otc as otc0_0_ from web_db.Person person0_ where person0_.id=?
Hibernate: select person0_.id as id4_0_, person0_.nam as nam4_0_, person0_.fam as fam4_0_, person0_.otc as otc4_0_ from web_db.Person person0_ where person0_.id=?

Existe alguma maneira de obter para hibernar para gerar aliases idênticos para consultas idênticas? Por exemplo:

Hibernate: select person0_.id as id0_0_, person0_.nam as nam0_0_, person0_.fam as fam0_0_, person0_.otc as otc0_0_ from web_db.Person person0_ where person0_.id=?
Hibernate: select person0_.id as id0_0_, person0_.nam as nam0_0_, person0_.fam as fam0_0_, person0_.otc as otc0_0_ from web_db.Person person0_ where person0_.id=?
Foi útil?

Solução

Tenha um olhar em HHH-2448 que abrange este tema e tem um patch para a geração de alias determinista.

Outras dicas

De qualquer forma, a minha solução - chamado consultas, onde vou especificam como selecionar dados explicitamente ...

Em primeiro lugar, estou usando o Oracle 9i.

Diferentes consultas provoca servidor para fazer parse duro. Se há muitas dessas consultas, de responsabilidade do servidor de banco de dados é cair. Temos que usar variáveis ??de ligação para evitar este problema.

Resposta curta: Não

Por quê?
Esse é o ponto, não é? Você está captada a partir das instruções de consulta real.

Licenciado em: CC-BY-SA com atribuição
Não afiliado a StackOverflow
scroll top