Używam jpa ze stanem hibernacji Chcę wstawić 100 rekordów w bazie danych, załóżmy, że otrzymam wyjątek wsadowy JDBC w 50. wstawieniu rekordu Potrzebuję obsługi wyjątku i muszę utrwalić pozostały rekord do DB.Jak kontynuować wstawianie zbiorcze, gdy wystąpi wyjątek
Kod:
private List<TempCustomers> tempCustomer =new ArrayList<TempCustomers>();
public String migrateCustomers() {
TempCustomers temp = null;
for(DoTempCustomers tempCustomers:doTempCustomers){
try {
temp=new TempCustomers();
BeanUtils.copyProperties(temp, tempCustomers);
tempCustomer.add(temp);
entityManager.persist(temp);
}catch (Exception e) {
tempCustomer.add(temp);
entityManager.persist(temp);
log.info("Exception ..."+e);
return "null";
}
}
return "null";
}
dziękuję za odpowiedź, przypuśćmy, że odczyt 100 rekordu z listy, a następnie będę kontynuował używanie elementu entityManager.persist (temp) .. na tej liście jeden rekord nie jest poprawny, więc hibernuj poprzez wyjątek wsadowy JDBC. chcę przechowywać bazę danych, jak mogę to zrobić? – nag
tak .. Ras, potrzebuję złapać wyjątek i rozwieranie, aby przetrwać .Jak to zrobić? – nag
Nigdy nie rób tego 'log.info (" Exception ... "+ e);' ... przechwytuje ślad stosu. Zamiast tego użyj 'log.info (" Exception ... ", e);' z wyjątkiem jako parametr – artbristol