开发者

Hibernate, aliases

开发者 https://www.devze.com 2022-12-13 05:59 出处:网络
I noticed that hibernate generates different aliases for the same columns each time i try to access the same table:

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 开发者_StackOverflow社区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=?


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


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.

0

精彩评论

暂无评论...
验证码 换一张
取 消