Hallo,
ich habe mehrere Interfaces, welche das JpaRepository implementieren.
Da einige Programmteile identisch sind, habe ich folgende generische Methode:
Ich möchte in der Fehlermeldung gern den Namen des konkreten Repositorys (bzw. der Entität) stehen haben. repository.getClass().getName() liefert aber nur "$Proxy1...".
Hat jemand ne Idee, wie ich die Fehlermeldung bauen kann? Den Repositorynamen als String mit in die Methode hineinzugeben finde ich mehr als nur dreckig :-/.
ich habe mehrere Interfaces, welche das JpaRepository implementieren.
Da einige Programmteile identisch sind, habe ich folgende generische Methode:
Java:
private <T extends Entity<T>, ID extends Serializable> Set<T> translate(final List<ID> list,
final JpaRepository<T, ID> repository) {
Set<T> objects = new HashSet<>();
for (ID t : list) {
T object = repository.findOne(t);
if (object == null) {
throw new IllegalArgumentException(MessageFormat.format("no object with id {0} found in {1} repository.",
t,
repository.getClass().getName()));
}
objects.add(object);
}
return objects;
}
Ich möchte in der Fehlermeldung gern den Namen des konkreten Repositorys (bzw. der Entität) stehen haben. repository.getClass().getName() liefert aber nur "$Proxy1...".
Hat jemand ne Idee, wie ich die Fehlermeldung bauen kann? Den Repositorynamen als String mit in die Methode hineinzugeben finde ich mehr als nur dreckig :-/.