我有大約3000個實體類的應用程序。如何減少Hibernate的SessionFactory內存使用和加載時間
由於大量的類的SessionFactory對象消耗大約150 MB的存儲器,並採取幾乎一分鐘,以設置(處理所有等級,生成代理和構建所述元模型)。
剖析我發現的一分鐘時間都花在org.hibernate.ejb.Ejb3Configuration.buildEntityManagerFactory
而一半在org.hibernate.tuple.entity.AbstractEntityTuplizer.<init>(EntityMetamodel, PersistentClass)
的過程之後。
我正在尋找方法來減少SessionFactory
內存使用情況和加載時間。
一個想法是將課程改進移到編譯時間,但我沒有找到關於它的很多信息。
實體的數量是一個事實,我無法改變,但如果有人對如何處理自己的數據庫訪問(比休眠等)更好的想法,我會很高興聽到這個消息。
你使用屬性中最懶的關係? – esmoreno
大約需要多長時間? –
閱讀本文http://stackoverflow.com/questions/23867296/postinstantiate-buildsessionfactory-slow-memory-huge-database –