Wyszukiwanie po wartościach kolekcji z użyciem Spring Data JPA

Wyszukiwanie po wartościach kolekcji z użyciem Spring Data JPA
GA
  • Rejestracja: dni
  • Ostatnio: dni
  • Postów: 32
0

Witam.
Załóżmy że mam klasę

Kopiuj
@Entity 
public class Foo {
	@Id
	@GeneratedValue
	Long id;
	
	String name;
	String bar;
	@ElementCollection
	Map<String, String> someParams;
}

@Repository
public interface FooRepo extends JpaRepository<Foo, Long> {
	List<Foo> findByName(String name);
	... i takie tam
}

I teraz mam zagwozdkę jak i czy w ogóle da się wyszukiwać po wartościach z tej mapy?

  • Rejestracja: dni
  • Ostatnio: dni
0
Kopiuj
@Query("select f from Foo f where f.someParams[?1] = ?2")
List<Foo> findByAttributeAndValue(String attribute, String value);
GA
  • Rejestracja: dni
  • Ostatnio: dni
  • Postów: 32
0

Hmm ok, a gdybym chciał wyszukiwać po kilku wartościach jednocześnie?

SZ
  • Rejestracja: dni
  • Ostatnio: dni
  • Postów: 616
0

in

GA
  • Rejestracja: dni
  • Ostatnio: dni
  • Postów: 32
0

Trochę źle się wyraziłem, chodziło mi o wyszukiwanie kilku par atrybut wartość

SZ
  • Rejestracja: dni
  • Ostatnio: dni
  • Postów: 616
0

A w czystym JPA jakbyś to zapisał bo ja nie widziałem takiego cuda. Może z pomocą SpringEL jakiś for

Zarejestruj się i dołącz do największej społeczności programistów w Polsce.

Otrzymaj wsparcie, dziel się wiedzą i rozwijaj swoje umiejętności z najlepszymi.