Om "onafhankelijk" te blijven, zoals je zegt voor database en JPA-provider, zou ik getSingleResult() vermijden en de lijst() ophalen en in het geheugen overeenkomen voor de naam. Waarschijnlijk krijgt u er meer dan één, maar niet 100 of meer.
Een andere manier zou kunnen zijn om de naam genormaliseerd (bijgesneden, in kleine letters) op te slaan in een nieuw veld.