Question

I noticed that hibernate generates different aliases for the same columns each time i try to access the same table:

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=?

Is there any way to get to hibernate to generate identical aliases for identical queries? For example:

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=?
Was it helpful?

Solution

Have a look at HHH-2448 which covers this topic and has a patch for deterministic alias generation.

OTHER TIPS

Anyway, my solution - named queries, where I will specify how to select data explicitly...

First, I'm using Oracle 9i.

Different queries causes server to do hard parse. If there are many such queries, database server responsibility is falling down. We have to use bind variables to avoid this problem.

Short answer: nope

Why?
That's the whole point isn't it? You are abstracted from the actual query statements.

Licensed under: CC-BY-SA with attribution
Not affiliated with StackOverflow
scroll top