konto usunięte
Temat: Transakcje w Springu, kilka pytań podchwytliwa flaga...
Może mi ktoś wytłumaczyć jedną rzecz?Jeśli np nie oznaczę metody jako @Transactional
To wtedy i tak to co będę zapisywać będzie w transakcji po stronie BD ?
Czy nie będzie żadnej transakcji?
Jaka jest różnica miedzy lokalną transakcją a globalną bo nie mogę tego za bardzo zrozumieć ?
Jeśli używam w @Transactioan flagi readOnyl - to do metody któa odczytuje dane to i tak powstanie transakcja ?
Jeśli używam JDBC to poleci wyjątek Throw a read-only connection exception
@Transactional(readOnly = true, propagation=Propagation.REQUIRED)
public long insertTrade(TradeData trade) throws Exception {
//JDBC code...
}
Jeśli używałbym w powyższym kodzie np. Hibernate to
@Transactional(readOnly = true, propagation=Propagation.REQUIRED)
public long insertTrade(TradeData trade) throws Exception {
em.persist(trade);
return trade.getTradeId();
}
bez problemu to zakomituje w bd
W takim razie jaki jest sens tej flagi?
Nie lepiej odczytywać te dane bez transakcji jeśli można sobie na to pozwolić ? Mniejszy narzut chyba ?