mybatis多对一关联的两种方式

时间:2023-03-09 16:44:14
mybatis多对一关联的两种方式

第一个种是Address找到自己的user_id,扔给User,让User自己去再查一次,即使在有缓存的前提下,每遇到一个新的user_id,就会查一次,对比hibernate的话,相当于多对一eager查询,用hql语句,但是没有设置batchsize,或者用joinfetch的方式查询,所以就会查询很多次的User。

其实关联查询这种东西,无非是先取一边的对象,再根据一定的规则,和自己这边的关联id,取另一边的对象,

如果joinfetch 就把关联表中的所有对象一次取出。

mybatis的第二种方法就是join fetch 但是特定的值要自己设置进对象的属性,才能得到完整的对象。