Hibernate + Web aplikace

Vlastimil Elias vlastimil.elias na qbizm.com
Středa Červenec 2 10:12:16 CEST 2003


Dobry den,

hibernate jsem pouzil v jedne aplikaci a muj zpusob byl takovy,
ze hibernate session (HS) jsem zakladal pro zpracovani kazde akce
(requestu)  ktera vyzadovala praci s perzistentnimi daty (v zasade
jako by se jednalo o transakci). V javadoc k Session je uvedeno:
"The lifecycle of a Session is bounded by the beginning and end of a
logical transaction. (Long transactions might span several database
transactions.)"

Kazda HS ma v sobe svoji verzi objektu a nacita ji z DB pouze pri prvem
pozadavku na dany objekt v ramci teto HS, pote jiz pouze zavolanim
metody Session.refresh(obj), ta ma vsak v Javadocu uvedeno "It is inadvisable
to use this to implement long-running sessions that span many business tasks.
This method is, however, useful in certain special circumstances.".
Pokud tedy objekt zmeni nejaka jina HS, zmeny by se do meho objektu
nepromitnuly a mohlo by dojit k nekonzistencim dat. Reseni by mohlo byt
pres Optimistic locking.
Doporucuji precist "Chapter 13. Transactions And Concurrency"
http://hibernate.bluemars.net/hib_docs/reference/html/transactions.html

Cacheovani objektu na urovni JVM hibernate podporuje vyuzitim
Apache Turbine's JCS, v tomto pripade vsak musi mit vase aplikace
jedinecny pristup k databazi.
Doporucuji projit stranku http://hibernate.bluemars.net/4.html "Features"
kde je uveden souhrn vlastnosti. Vas bude asi zajimat sekce
HDLCA (Hibernate Dual-Layer Cache Architecture)

Ing. Vlastimil Elias                        Qbizm technologies, a.s.
vedouci analytik                                ... the art of software
________________________________________________________________________
Kralovopolska 139                                      tel: +420 541 242 414
601 12 Brno, CZ    http://www.qbizm.cz  fax: +420 541 212 696

----- Original Message -----
From: "Jiří Mareš" <Jiri.Mares na seznam.cz>
To: <konference na java.cz>
Sent: Wednesday, July 02, 2003 9:32 AM
Subject: Hibernate + Web aplikace


> Dobry den,
>
> rozhodl jsem se v me webove aplikaci (Struts, JSP) pouzit hibernate pro
> persistenci objektu a mam nasledujici dotaz na vase zkusenosti, nazory
> ci napady.
>
> Ma skutecne kazda session v aplikaci mit session v hybernate a tudiz i
> vlastni verzi persistentnich objektu, nebo je rozumne objekty v ramci
> efektivity nejakym zpusobem sdilet? A s tim souvisi (zatim jsem nedocetl
> manual k hibernate, takze se to tam mozna doctu). Provadi hibernate
> nejake cachovani, tj. pokud pozaduji z jine sessiony objekt, ktery
> vlastni jina, pak jej vytvori bez sahani do DB?
>
> Diky moc za podnety.
>
> --
> Jiří Mareš (mailto:Jiri.Mares na seznam.cz)
>
>


---
Odchozí zpráva neobsahuje viry.
Zkontrolováno antivirovým systémem AVG (http://www.grisoft.cz).
Verze: 6.0.493 / Virová báze: 292 - datum vydání: 25.6.2003



Další informace o konferenci Konference