Gdy zostanie zgłoszony wyjątek javax.persistence.PersistenceException


Badałem hibernację i natknąłem się na wyjątek - javax.persistence.PersistenceException
Ale nie rozumiałem dokładnego powodu tego.
W jakich scenariuszach występuje ten wyjątek?
Zaproszony:
Anonimowy użytkownik

Anonimowy użytkownik

Potwierdzenie od:

PersistenceException występuje w przypadku operacji bazy danych przy użyciu EntityManager.

Skrypty

:
  • EntityNotFoundException = & > jednostka nie istnieje. np. próbujesz znajdź UserData, ale nie ma tabel o tej nazwie
  • NonUniqueResultException = & > wyrzucony przez dostawcę trwałości, kiedy getSingleResult () jest wykonywana na żądanie i jest ich więcej niż jeden wynik z zapytania. na przykład: em.getSingleResult (). ale zapytaj więcej niż 1 linia
  • NoResultException = & > wyrzucony przez dostawcę trwałości, kiedy Query.getSingleResult () lub TypedQuery.getSingleResult () jest wykonywana przez żądanie i nie ma wyniku do zwrócenia.

i wiele więcej...
https://docs.oracle.com/cd/E17 ... .html
https://docs.oracle.com/cd/E17 ... .html
Anonimowy użytkownik

Anonimowy użytkownik

Potwierdzenie od:

PersistenceException to wyjątek środowiska uruchomieniowego w JPA, który może zostać zgłoszony, gdy wywoływane są operacje bazy danych entityManager, takie jak find, persist, flush, lock, refresh itp.
EntityExistsException, EntityNotFoundException, NonUniqueResultException, NoResultException, OptimisticLockException, RollbackException, TransactionRequiredException.
Możesz użyć PersistenceException, aby złapać dowolny z powyższych wyjątków w
Twoje zajęcia DAO.

Aby odpowiedzieć na pytania, Zaloguj się lub Zarejestruj się