Получить количество детей на основе их собственности с помощью проекции - PullRequest
0 голосов
/ 04 июля 2019

В моем проекте у меня есть родительский и дочерний объект. У ребенка есть свойство isDeleted, которое используется для включения или исключения этой записи из общего количества. Проекция написана, чтобы получить родителя, и метод объявлен с @Value("#{target.getChildren().size()}"), чтобы получить количество детей. Как исключить детей с isDeleted==1 в синтаксисе SpEL? 0 обозначает «активный», а 1 обозначает «удаленный».

Родитель

@Entity
public class Parent {
   long id;
   Set<Child> children;

   public Set<Child> getChildren();
}

Дети

public class Child {
   int isDeleted;

   public int getIsDeleted();
}

Прогноз

public interface ParentProjection {
    Long getId();
    @Value("#{target.getChildren().size()}")
    int getChildrenCount();
}

1 Ответ

0 голосов
/ 04 июля 2019

в SpEL на основе XML мы можем отфильтровать список следующим образом:

<property name="failedStudents" value="#{studentList.?[marks lt 40]}" />

вы можете попробовать сделать такое выражение для вашего дочернего класса, например: @Value ("# {target.getChildren ().? [IsDeletedeq 1] .size ()} ")

...