在hibernate统计中有什么是load和fetch之间的区别
我主要看的是EntityStatics( http://www.hibernate.org/hib_docs/v3/api/org/hibernate/stat/EntityStatistics.html )。 我可以看到很多提取,加载和更新,我无法找到任何说明它们之间有什么区别的地方。
通过代码向后工作,只有在从数据源检索实体时(而不是任何缓存),获取计数器才会增加 –
protected Object loadFromDatasource( final LoadEvent event, final EntityPersister persister, final EntityKey keyToLoad, final LoadEventListener.LoadType options) { final SessionImplementor source = event.getSession(); Object entity = persister.load( event.getEntityId(), event.getInstanceToLoad(), event.getLockMode(), source ); if ( event.isAssociationFetch() && source.getFactory().getStatistics().isStatisticsEnabled() ) { source.getFactory().getStatisticsImplementor().fetchEntity( event.getEntityClassName() ); } return entity; }
从太多的地方调用了加载计数器来跟踪它们,但看起来无论是从数据源还是缓存加载实体,它都会增加。
- 让JPA / Hibernate复制“ON DELETE SET NULL”function
- Spring-Hibernate – 找不到当前线程的Session
- hibernate的限制。用和,怎么用?
- 使用Spring进行Hibernate二级缓存
- Hibernate为每个查询生成不同的SQL
- FetchMode连接对spring JPA存储库中的ManyToMany关系没有任何区别
- Spring Rest – exception生成Json数据
- 可以在@ManyToMany Hibernate额外表中添加额外的字段吗?
- 为什么spring / hibernate只读数据库事务比read-write运行得慢?