<association property="appVersion" column="versionId" select="cn.appsys.mapper.AppVersionMapper.selById" javaType="cn.appsys.pojo.AppVersion"></association>
当使用级联查询的时候,mybatis会先查询出所有符合条件的版本,然后根据查询到的versionId查询出改版本对于的信息,在查询之后的app对应版本时,mybatis会把app的版本id与已经缓存的版本信息进行对比,如果没有该版本的 版本id,则会指向新的sql语句进行查询
解决方案
<!-- 打开延迟加载的开关 -->
<setting name="lazyLoadingEnabled" value="true"/>
<!-- 将积极加载改为消极加载即按需要加载 -->
<setting name="aggressiveLazyLoading" value="false"/>