Spring Data JPA Distinctes - le Retour des résultats à partir d'une seule colonne

J'ai des données que contient un STATE champ (Chaîne/Texte) qui définit ce que l'état a donné la demande est actuellement (par exemple, en attendant, approuvé refusé etc.) et pour obtenir toutes les valeurs de cette colonne, je peux exécuter la requête TSQL suivante

SELECT DISTINCT STATE FROM CALLOUT_REQUEST

CALLOUT_REQUEST est mon nom de la table et STATE être le domaine qui renvoie à quelque chose comme:

ÉTAT

  • approuvé
  • refusé
  • en attendant
  • ...

Cependant je ne comprends pas comment je pourrais le transformer en une requête dans mon référentiel, comme il semble que j'ai besoin d'un "par" déclaration ou quelque autre mécanisme du filtre qui je peux obtenir le STATE basé sur?

Ce que je suis à la recherche de retour comme indiqué dans les premières TSQL requête ci - dessus est une sorte de Liste ou un Tableau d'objet qui contient tous les unique/valeurs distinctes dans tous les STATE champs.

Donc en pseudo code, je pense que je suis à la recherche de quelque chose comme ceci:

String[] states = repository.findDisinctState();

findDistinctState() serait alors de retourner un tableau de toutes sortes.

L'espoir qui fait sens - je suis très nouveau à Java et au Printemps en général, donc je pense que je suis pas certains de la connaissance conceptuelle de les utiliser, de les ci-dessus.

Mise à JOUR:

L'état de concept est fermé donc j'ai pu mettre en œuvre que comme un enum - seul problème est que je ne sais pas comment le faire 🙂 Malade regarde comment je peux faire car je pense que ça colle parfaitement avec ce que je suis en train de réaliser.

La Liste que je reçois de la requête fourni est destiné à être utilisé pour obtenir un décompte de toutes les occurrences. J'ai eu ce code avant d'obtenir un nombre total pour chacun des "états":

Map stats = new HashMap();
String[] states = {"approved", "denied", "pending", "deactivated"};
for (int i = 0; i < states.length; i++) {
    stats.put(states[i], repository.countByState(states[i]));
}

Ai-je raison de comprendre que les états Array que j'ai dans l'extrait de code ci-dessus pourrait être transformé en un enum et alors je n'ai pas même besoin de la coutume @Query plus?