2012-08-29 45 views
2

有人可以解釋爲什麼Hibernate爲同一個查詢生成不同的別名?(ABC1_25,ABC1_27 ...)Hibernate相同的查詢多個別名和性能問題

Hibernate如何配置爲重複使用具有相同別名的相同查詢?如何將查詢緩存或優化?

如下所示我正在與被生成具有不同的別名相同的查詢工作中的應用:

SELECT abc0_.ATTR_ID AS ABC1_25_, 
    abc0_.ALLOW AS ALLOW2_25_, 
    abc0_.ALTER_DATE AS ALTER3_25_, 
    abc0_.CREATE_DATE AS CREATE6_25_, 
FROM ABCTABLE abc0_ 
WHERE abc0_._ID = :1 

SELECT abc0_.ATTR_ID AS ABC1_27_, 
    abc0_.ALLOW AS ALLOW2_27_, 
    abc0_.ALTER_DATE AS ALTER3_27_, 
    abc0_.CREATE_DATE AS CREATE6_27_, 
FROM ABCTABLE abc0_ 
WHERE abc0_._ID = :1 

這導致處理器和內存消耗。

我碰到過這個鏈接: Hibernate produce different SQL for every query但沒有找到答案。

回答

2

也許你有幾個SessionFactory的實例,而不是使用單例。這是另一個問題的OP所發現的。