在我的项目中,我有一个父实体和一个子实体。该子项具有“ isDeleted”属性,该属性用于从总数中包括或排除该记录。编写投影以获取父对象,并使用@Value("#{target.getChildren().size()}")
声明一个方法以获取子计数。如何在SpEL语法中排除带有isDeleted==1
的孩子?
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();
}
答案 0 :(得分:0)
在基于XML的SpEL中,我们可以过滤列表,如下所示:
<property name="failedStudents" value="#{studentList.?[marks lt 40]}" />
您可以尝试为孩子上课做这样的表达 例如:@Value(“#{target.getChildren()。?[isDeleted eq 1] .size()}”)