检查执行的sql语句:
==> Preparing: SELECT t.id,t.sort_call_number,t.book_name,t.translator,t.press,t.publisher_place,t.year_and_month_of_publication,t.edition,t.format,t.number_of_pages,t.price,t.book_sort_id,t.is_delete,t.create_time,t.update_time,t1.book_category,t1.book_subcategory FROM book t LEFT JOIN book_sort t1 ON (t1.id = t.book_sort_id) WHERE t.is_delete=0 AND t1.is_delete=0
==> Parameters:
<== Total: 0
发现副表中也加了逻辑删除的条件
总结
这是因为执行查询的时候,mybatis-plus-join会默认启用副表逻辑删除,它会自动加上 "副表名.is_delete=0" 的条件,导致查询不到想要的数据
解决方法:不启动副表逻辑删除即可:
mybatis-plus-join.sub-table-logic=false