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

Odpovedet emailem