Hallo Enzei,
zu 1) ja. getCurrentSession() ist neu in Hibernate3 und soll das OneSessionPerThread Pattern unterstützen. Ich benutze dafür Spring.
zu 2) Kann ich nicht genau sagen, weil ich getCurrentSession() selbst nicht benutze. Aber soviel ich weiß bekommst du da eine verwaltete Session, die an irgendeinen Context (z.B. Thread) gebunden ist. Somit sollst du die eher nicht schließen.
zu 3) Nein definitiv nicht. Das steht auch irgendwo in der Doku. So eine Session sollte eher kurz offen sein und auf jeden Fall nur von einem Thread benutzt werden.
Warum willst du getCurrentSession() benutzen? Wiegesagt gabs das vor Hibernate3 noch gar nicht. Verwirrt vielleicht nur. Schau dir mal Spring (
www.springframework.org) an, falls du das noch nicht kennst.
Viele Grüße
Alex