Cześć, jak najlepiej obsłużylibyście taki scenariusz, że jeśli wyciągamy z bazy encję za pomocą findOne i ona jest nullem, bo akurat nie znalazło żadnego wiersza to nie dostajemy na wyjściu w potrzebnym miejscu nulla tylko tą encję jpa, ale z nullowymi polami ?
Może być coś takiego ? :
protected <T>T getOrEmpty(T obj, Class<T> clazz) {
try {
return Optional.ofNullable(obj).orElse(clazz.newInstance());
} catch (InstantiationException | IllegalAccessException e) {
e.printStackTrace();
throw new IllegalArgumentException("Fail with init empty object");
}
}
i dalej..
AnyEntity e = getOrEmpty(repo.findOne(2L));
assembler.toDto(e);
Czy to jest zły pomysł i są lepsze ?