目录
上一篇我们说了如何使用mybatis中的懒加载机制解决级联造成的N+1问题,但同时也有一个问题,我们没有办法去个性化的编写代码。
懒加载:
lazyLoadingEnabled为true时,所有的关联对象都不会加载
aggressiveLazyLoading为false时,只有当调用具有懒加载对象的属性时才会加载
不理解的话就先看这篇如何利用mybatis的懒加载机制解决级联造成的N+1问题_m0_56058975的博客-CSDN博客
例如现在有用户,订单,产品三张表,我们配置懒加载之后,现在执行查询用户的属性时,订单和产品都不会被加载,但是现在我们有个需求,在查询用户属性的时候要打订单也同时查询出来,这就需要用到mybatis中的fetchType属性了。
fetchType
fetchType有两个值:
1.eager,获得当前POJO后立即加载对应的数据。
2.lazy,获得当前POJO后延迟加载对应的数据。
但是需要注意的是fetchType只用在级联用使用,一对一(association),一对多(collection),鉴别器(