Prevedte si je na InnoDB.

Obecne vzato muze mit MyISAM v nekterych vyjimecnych pripadech opodstatneni, 
ale musite naprosto presne vedet co chcete delat a jak.

Kamil Podlesak

> -----Original Message-----
> From: [email protected] [mailto:[email protected]]on
> Behalf Of Pavel Nemec
> Sent: Friday, June 19, 2009 4:36 PM
> To: Java
> Subject: Re: zamikani tabulek mysql+hibernate
> 
> 
> Dne 19. Ĩerven 2009 16:25 Podlesak Kamil 
> <[email protected]> napsal(a):
> > Zdravim,
> >
> > Nejak jsem to v celem vlaknu nenasel, takze se explicitne zeptam:
> > Jsou vsechny ty tabulky InnoDB? Pro jistotu to peclive 
> overte, default je MyISAM!
> 
> Jsemsi temer jist ze jsou default tj MyISAM.
> 
> Posilam kod, ktery pouzivam na testovani konkurencniho pristupu
> 
> 
> >
> > Kamil Podlesak
> >
> >
> 
>                       Session session = 
> HibernateUtil.getSessionFactory().openSession();
>                       
>                       Transaction tx = session.beginTransaction();
>                       List  list = session.createQuery("from 
> ServerMessage").list();
>                       
>                       ServerMessage sm = (ServerMessage) list.get(0);
>                       ServerMessage smLocked = (ServerMessage)
> session.get(ServerMessage.class,sm.getId(),LockMode.UPGRADE);
>                       session.flush();
> 
> // v tuto chvili zkontroluji db, a provedu zmenu na radce se 
> stejnym id, uspesne
>                       session.save(smLocked);
>                       session.flush();
>                       sm = (ServerMessage) list.get(1);
>                       smLocked = (ServerMessage)
> session.get(ServerMessage.class,sm.getId(),LockMode.UPGRADE);
>                       logger.info("smazan objekt: 
> "+smLocked.getFlag());
>                       session.delete(smLocked);
>                       sm = (ServerMessage) list.get(2);
>                       smLocked = (ServerMessage)
> session.get(ServerMessage.class,sm.getId(),LockMode.UPGRADE);
>                       logger.info("smazan objekt: 
> "+smLocked.getFlag());
>                       session.delete(smLocked);
>                       sm = (ServerMessage) list.get(3);
>                       smLocked = (ServerMessage)
> session.get(ServerMessage.class,sm.getId(),LockMode.UPGRADE);
>                       logger.info("smazan objekt: 
> "+smLocked.getFlag());
>                       session.delete(smLocked);
>                       
>                       session.flush();
> 
> // v tuto chvili vsechny tri objekty jiz nejsou v db !
> 
>                       tx.rollback();
> // rollback nevrati zmeny, v db jsou stale zmazany vsechny objekty
>                       
>                       if(session.isOpen())session.close();
> 

Odpovedet emailem