Mam takie zapytanie w jpa:
public Page<User> getUsersWithAdsresses(Pageable pageable) {
Specification<User> spec = builder.build(); // tylko przykład, że przekazujemy specyfikacje
return userRepository.findAll(spec, pageable);
}
W encji User mam relacje:
@ManyToMany
@JoinTable(name = "user_to_address", joinColumns = @JoinColumn(name = "user_id"), inverseJoinColumns = @JoinColumn(name = "address_id"))
private Set<Address> addresses;
Encja Address:
public class Address {
@Id
private Long id;
@Column(nullable = false, unique = true)
private String name;
}
Chciałbym mieć taką sytuacje, że chce przefiltrować usera po nazwie ulicy(w specyfikacji podaje warunek filtra), ale w api zwrócić wszystkie jego ulice.
Chodzi o to, że jak teraz filtruje to zwraca mi tylko tą jedną ulice(adres) po której było filtrowane, a chciałbym widzieć wszystkie adresy pod których mieszka ten user.
Myślałem aby użyć @Fetch(FetchMode.SUBSELECT)
nad Set<Address> addresses
w encji User lub subselecta na encji, ale jakoś mi to nie wychodzi
extends JpaSpecificationExecutor<User>