我有一个包含大约 3000 个实体类的应用程序。
由于类的数量众多,SessionFactory 对象消耗大约 150 MB 的内存并且需要将近一分钟的时间来设置(处理所有类、生成代理和构建元模型)。
在分析了这个过程之后,我发现一分钟的时间花在了,org.hibernate.ejb.Ejb3Configuration.buildEntityManagerFactory
而一半的时间在org.hibernate.tuple.entity.AbstractEntityTuplizer.<init>(EntityMetamodel, PersistentClass)
.
我正在寻找减少SessionFactory
内存使用和加载时间的方法。
一种想法是将类增强移动到编译时间,但我没有找到太多关于它的信息。
实体的数量是我无法改变的事实,但是如果有人对如何处理他们的数据库访问(除了 Hibernate)有更好的想法,我会很高兴听到它。