2015-03-27 17 views
7

Zastanawiam się, czy można używać generycznych w nazwanych zapytaniach w danych wiosennych (używając samego jpa), czy można zrobić coś takiego?Spring Data (JPA) - używanie generycznych w @Query

@NoRepositoryBean 
public interface EnumerationRepository<T extends Enumeration> extends JpaRepository<T,Integer> { 
    @Query("Select t.type from T t") 
    public List<String> selectTypes(); 
} 

klasa Wyliczenie jest to

@MappedSuperclass 
public abstract class Enumeration { 

    @Id @GeneratedValue(strategy = GenerationType.AUTO) @Column(name = "id", length = 3) 
    private int id; 
    @Column(name = "type", nullable = false, unique = true, length = 30) 
    private String type; 

    // getters/setters .. etc 
} 

I pominięte niektóre pola w klasie Enumeration dla uproszczenia.

Próbowałem tego, ale oczywiście narzeka, że ​​klasa T nie jest odwzorowana.

Chodzi o to, że mam ponad 20 tabel, które mają pewną podstawową strukturę, a ponieważ potrzebuję zapytań do wyodrębnienia tylko danych z kolumn, a nie całego obiektu, byłoby miło znaleźć sposób na uzyskanie zapytania w repozytorium "macierzyste" i niepotrzebne powtarzanie kodu ponad 20 razy.

Odpowiedz

Powiązane problemy