Używam wiosny, więc rozwiązujemy to przez org.springframework.dao.DataIntegrityViolationException
try {
ao_history_repository.save(new AoHistory(..));
} catch (DataIntegrityViolationException e) {
System.out.println("history already exist");
}
Ale jako @KevinGuancheDarias wspomnij o tym: