Dobry den, Metoda EM.merge(obj) spravi len to ze detached objekt vrati spat do manazovaneho stavu. Do DB sa vsak manazovany objekt ulozi:
1) Ak sa transakcia komitne - vasa metoda update sa skonci 2) Explicitne sa zavola EM.flush() 3) Predtym nez je vykonana query do DB Martin Krajci On 1/14/07, URBAN Leos <[EMAIL PROTECTED]> wrote:
Ahoj, narazil jsem ted o vikendu na dva problemy - JBOSS 4.0.4, EJB3 RC8, PGSQL 7.4. Mam SFSB a v nem business metodu: public WorkbookRecord update( WorkbookRecord o) throws Exception { try { System.out.println("start"); manager.merge(o); System.out.println("end"); } catch (Exception e) { System.out.println("chyba"); throw new Exception("Chyba"); } } Z klienta umyslne poslu do metody update() delsi retezec nez je definice v databazi (Postgresql), klient korektne vyhlasi exception. Jenze: 1) ta exception je vyhozena nekde jinde nez v te metode update(), neboli v logu je "start" a "end" a neni tam "chyba". 2) nahlasi exception Postgresql a protoze na klientu neni (logicky) JDBC ovladac tak detaily (stacktrace) nejsou k dispozici s chybou PSQLException ClassNotFound Priznam se ze jsem to nejak nepochopil. Co kdyz budu potrebovat v update() vedet, ze ten zapis opravdu dopadl dobre? Mate k tomu nekdo nejake poznatky? Zrejme delam neco spatne nebo jsem neco spatne pochopil. Diky, Leos