2009/6/19 Lukas Barton <[email protected]>

> V prvnim pripade musite volat session.get. Session.load udela proxy, ktera
> se inicializuje az po pristoupeni na jeji property.


Bohuzel toto nepomaha. Bez ohledu, zda volam .load, nebo .get a zda po tom
provedu flush, tak je stale mozne rucne zmenit dany radek databaze - coz je
to  cemu potrebuji zabranit

Session.flush je zbytecne, toto volani synchronizuje stav v pameti se stavem
> v DB, nikoliv naopak.

ano to se skutecne pise v javadocu a vim to. Nicmene jsem zjistil ze .flush
mimo jine take zapise aktualni zmeny provedene v ramci transakce do db.
Dokonce pokud provedu zmeny zavolam flush a pak rollback, tak tyto zmeny
nejsou vraceny.

Zacinam cist Java persistance with Hibernate, ktera mi snad da na tyto veci
odpovedi.


> session.createSQLQuerry("LOCK TABLE mytable WRITE) neudela nic, jen vytvori
> objekt SqlQuery.
> Na tomto objektu musite zavolat executeUpdate.
> Flush je zase zbytecny.


ja jsem si rikal ze se to musi executnout. Jenze jsem hledal metodu execute
:) Dik tohle uz mi funguje.

>
>
> Doporucil bych si precist tu dokumentaci celou :-)
> A javadoc vsech metod na tride Session.


No tak knizka ma 800 stran, takze tohle bude chvili trvat.

Kazdopadne dik za pomoc.

Pavel

Odpovedet emailem