add distinctOn for LessJoins
This commit is contained in:
parent
30e79f3287
commit
3dd943141f
1 changed files with 9 additions and 9 deletions
|
|
@ -6,15 +6,14 @@ import java.util.Map;
|
|||
import java.util.Set;
|
||||
import java.util.stream.Collectors;
|
||||
|
||||
import org.jooq.Condition;
|
||||
import org.jooq.Field;
|
||||
import org.jooq.*;
|
||||
|
||||
import org.jooq.Record;
|
||||
import org.jooq.SelectConnectByStep;
|
||||
import org.jooq.SelectForUpdateStep;
|
||||
import org.jooq.SelectJoinStep;
|
||||
import org.jooq.SelectLimitStep;
|
||||
import org.jooq.SelectOnConditionStep;
|
||||
import org.jooq.SelectSelectStep;
|
||||
import org.jooq.Table;
|
||||
import org.springframework.util.CollectionUtils;
|
||||
|
||||
|
|
@ -68,8 +67,9 @@ public class LessJoinsDao extends CustomCoalesceDao {
|
|||
));
|
||||
|
||||
List<Field<?>> fieldList = convertEntityColumnsToJooqFields(columns);
|
||||
Field<?> mainPkField = QueryUtils.toJooqField(mainNodePkColumns[0], this.getDsl().dialect(), true);
|
||||
SelectJoinStep<Record> selectStep = selectByJooqColumns(fieldList, fieldsEntityNames,
|
||||
entitiesConditionsMap
|
||||
entitiesConditionsMap, mainPkField
|
||||
);
|
||||
|
||||
SelectConnectByStep<Record> joinStep = buildWhereStep(selectStep,
|
||||
|
|
@ -84,9 +84,9 @@ public class LessJoinsDao extends CustomCoalesceDao {
|
|||
}
|
||||
|
||||
private SelectJoinStep<Record> selectByJooqColumns(List<Field<?>> fieldList,
|
||||
Set<String> fieldsEntityNames, Map<String, List<Condition>> entitiesConditionsMap) {
|
||||
SelectSelectStep<Record> select = uniqueResult
|
||||
? getDsl().selectDistinct(fieldList)
|
||||
Set<String> fieldsEntityNames, Map<String, List<Condition>> entitiesConditionsMap, Field<?> mainPkField) {
|
||||
SelectIntoStep<Record> select = uniqueResult
|
||||
? getDsl().select(fieldList).distinctOn(mainPkField)
|
||||
: getDsl().select(fieldList);
|
||||
DefaultGraphNode mainNode = graph.getMainNode();
|
||||
SelectJoinStep<Record> selectJoinStep = select.from(getTableWithAlias(mainNode));
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue