@Fetch(FetchMode.JOIN) 会使用left join查询 只产生一条sql语句
@Fetch(FetchMode.SELECT) 会产生N+1条sql语句
@Fetch(FetchMode.SUBSELECT) 产生两条sql语句 第二条语句使用id in (.....)查询出所有关联的数据
@Fetch(FetchMode.SELECT) 会产生N+1条sql语句
@Fetch(FetchMode.SUBSELECT) 产生两条sql语句 第二条语句使用id in (.....)查询出所有关联的数据
本文详细解析了JPA中三种Fetch类型:JOIN、SELECT及SUBSELECT的区别与应用场景。@Fetch(FetchMode.JOIN)通过LEFT JOIN产生单一SQL查询;@Fetch(FetchMode.SELECT)产生N+1条SQL语句;@Fetch(FetchMode.SUBSELECT)则生成两条SQL语句,第二条使用ID IN(...)来获取关联数据。
6772

被折叠的 条评论
为什么被折叠?



