2017-02-14 245 views
0

我有一個非常簡單的查詢來選擇表中的所有行。在冬眠期間,它總是需要17-18秒。我指定show_sql爲真。我複製SQL命令直接到MySQL,並花了0.00022秒...SQL查詢非常緩慢的休眠,在mysql上很快

這是查詢:

SELECT 
    organizati0_.id AS id1_5_, 
    organizati0_.adminList AS adminLis2_5_, 
    organizati0_.demoAccount AS demoAcco3_5_, 
    organizati0_.disabled AS disabled4_5_, 
    organizati0_.enduserCredits AS enduserC5_5_, 
    organizati0_.name AS name6_5_, 
    organizati0_.pushNotificationRoom AS pushNoti7_5_, 
    organizati0_.totalLicenses AS totalLic8_5_, 
    organizati0_.usedLicenses AS usedLice9_5_ 
FROM 
    organization organizati0_ 

這是查詢代碼:

Session session = ThreadSessionHolder.getThreadSession(); 
Query query = session.createQuery("from Organization "); 
List list = query.list(); 
return list; 

什麼想法?這是驅使我堅果

+1

它更可能是來自服務器的數據檢索和創建Java時不應該做的對象,在這裏有毛病。請注意,您正在拉動整個表格 – e4c5

+0

組織實體上是否有任何關聯?難道是他們中的一些人渴望?記錄數量是多少? –

+0

如果您在MySql上進行查詢總是會很快,那麼當您要求hibernate返回整個表時,請考慮每個組織對象的創建。您可以放置​​組織表,看看我們是否可以使其表現更好,如果您有一些關係,可以將它們視爲懶惰,並且您的組織對象會更輕。 – mvlaicevich

回答

0

我發現了這個問題。

我正在執行在構造函數初始化操作選擇所有