Fetch the repository succeeded.
在使用 findListByColumns 方法查询表数据条数时,如果拼接了 关联查询条件,关联条件不起作用。
代码如下:
Columns columns = new Columns();
columns.add("article.status", status);
columns.add("m.category_id", categoryId);
return DAO.leftJoin("article_category_mapping").
as("m").
on("article.id = m`.article_id`").
findCountByColumns(columns);
查看源码,组装 SQL 的过程走到 forFindCountByColumns 方法后,并未将 joins 拼接进去,导致了该BUG。有问题方法代码如下:
public String forFindCountByColumns(String table, List<Column> columns) {
return SqlBuilder.forFindCountByColumns(table, columns, ' ');
}
一个拼接了关联查询的例子如下方法:
public String forPaginateFrom(List<Join> joins, String table, List<Column> columns, String orderBy) {
return SqlBuilder.forPaginateFrom(joins, table, columns, orderBy, ' ');
}