1
하위 항목 속성이있는 상위 클래스가 일대 다 관계로 있습니다. 이 예제가 구축 될 때, 나는 한 아이가JPA를 사용하여 하위 항목 수를 기준으로 상위 항목을 필터링 할 수 있습니까?
public class Parent {
@Id
@GeneratedValue(strategy = GenerationType.AUTO)
@Column(updatable = false, nullable = false, insertable = false, unique = true)
private Long id;
private String name;
@OneToMany(mappedBy = "parent")
private Set<Child> children;
}
public class Child {
@Id
@GeneratedValue(strategy = GenerationType.AUTO)
@Column(updatable = false, nullable = false, insertable = false, unique = true)
private Long id;
private String name;
@ManyToOne
private Parent parent;
}
:-) 단 하나의 부모를 가질 수 있다고 가정하지만 지금은 단지 예를 두 어린이가 부모를 필터링하고 싶습니다. 이것을 구현하는 데 사용할 수있는 JPA 기능은 무엇입니까?
동료가 childrenCounter를 부모에게 추가하도록 제안했습니다. 그러나 부모님 및/또는 자녀 사이트에서 무언가를 바꿀 때마다이 카운터를 업데이트해야하기 때문에 나는이 가능성을 좋아하지 않습니다.
데이터베이스의 크기를 따라, 당신은'streams'를 사용하여 필터링 할 수 있습니다 (예를 들어'resultSet.streams.filter (P -> p.children.size == 2)') . 단지 작은 목록이 반환 된 경우에 대비해. – Tom