Przez chwilę się zastanawiałem się, dlaczego podczas używania JPA, muszę napisać moje delegować metody tak:Podczas korzystania z menedżera encji JPA, dlaczego musisz scalić przed usunięciem?
@Transactional
public void delete(Account account)
{
if (entityManager.contains(account))
{
entityManager.remove(account);
}
else
{
entityManager.remove(entityManager.merge(account));
}
}
Być może zawiera nie jest potrzebna, ponieważ transakcja zaczyna się i kończy z tej metody, ale wciąż zastanawiam się, dlaczego usunięcie nie mogło po prostu wziąć niezarządzanego obiektu. Czy to dlatego, że trzeba nim zarządzać, aby wiedzieć, jaki jest identyfikator tego obiektu? Wszelkie inne spostrzeżenia byłyby świetne do usłyszenia. Chcę tylko zrozumieć, jak hows i wady z WZP usunąć.
To ma sens. Dziękuję za udostępnienie. – testing123