1、n+1说明
引用:http://blog.csdn.net/lhooouuu/article/details/6021650,
即one-to-many存在1+n查询、many-to-one存在m+1查询。
2、所遇问题
自己在项目中由于使用的是Criteria,它对于注解@ManyToOne @Fetch(FetchMode.JOIN)貌似无效,执行中仍然进行m+1查询,自己改用hql语句结果执行的就是连接查询,问题得以解决。
3、可能原因分析
找一个自己乱想的理由:Criteria是基于对象的,不支持连接查询;而hql是基于sql,支持连接查询