我有大约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 –