通过 Projection 根据他们的 属性 获取 children 的计数
Get count of children based on their property via Projection
在我的项目中,我有一个 parent 和一个 child 实体。 child 有一个 属性 'isDeleted' 用于在总计数中包含或排除该记录。写入投影以获得 parent 并使用 @Value("#{target.getChildren().size()}")
声明方法以获取 children 计数。如何在 SpEL 语法中用 isDeleted==1
排除 children?
0 表示 'active',1 表示 'deleted'。
Parent
@Entity
public class Parent {
long id;
Set<Child> children;
public Set<Child> getChildren();
}
Child
public class Child {
int isDeleted;
public int getIsDeleted();
}
投影
public interface ParentProjection {
Long getId();
@Value("#{target.getChildren().size()}")
int getChildrenCount();
}
在基于 XML 的 SpEL 中,我们可以像下面这样过滤列表:
<property name="failedStudents" value="#{studentList.?[marks lt 40]}" />
你可以尝试为你的 children class 做这样的表达
例如:@Value("#{target.getChildren().?[isDeleted eq 1].size()}")
在我的项目中,我有一个 parent 和一个 child 实体。 child 有一个 属性 'isDeleted' 用于在总计数中包含或排除该记录。写入投影以获得 parent 并使用 @Value("#{target.getChildren().size()}")
声明方法以获取 children 计数。如何在 SpEL 语法中用 isDeleted==1
排除 children?
0 表示 'active',1 表示 'deleted'。
Parent
@Entity
public class Parent {
long id;
Set<Child> children;
public Set<Child> getChildren();
}
Child
public class Child {
int isDeleted;
public int getIsDeleted();
}
投影
public interface ParentProjection {
Long getId();
@Value("#{target.getChildren().size()}")
int getChildrenCount();
}
在基于 XML 的 SpEL 中,我们可以像下面这样过滤列表:
<property name="failedStudents" value="#{studentList.?[marks lt 40]}" />
你可以尝试为你的 children class 做这样的表达 例如:@Value("#{target.getChildren().?[isDeleted eq 1].size()}")