Я использую спецификацию JPA в проекте Spring Boot. Все критерии работают нормально. Но проблема в выборе / множественном выборе.
код -
@AllArgsConstructor
public class TodoSpecifications implements Specification<Todo> {
@Override
public Predicate toPredicate(
Root<todoEntity> root, CriteriaQuery<?> query, CriteriaBuilder criteriaBuilder) {
List<Predicate> predicateList = createPredicateList(root, criteriaBuilder);
List<Selection<? extends Object>> selectionList = new ArrayList<Selection<? extends Object>>();
Selection<? extends Object> selection = root.get("id");
selectionList.add(selection);
Selection<? extends Object> selection2 = root.get("name");
selectionList.add(selection2);
Selection<? extends Object> selection3 = root.get("type");
selectionList.add(selection3);
return query.multiselect(selectionList).where(criteriaBuilder.and(predicateList.toArray(new Predicate[] {}))).getRestriction();
}
}
С этой спецификацией я пробовал это
Список toDoEntity = todoRepository.findAll (todoSpecification);
Это вернет полные данные. Но я ожидаю только выбранные столбцы.