Hi,
die Session wird durch clear() nicht gelöscht, sondern nur geleert. Die Session an sich kannst Du also durchaus weiter nutzen, nur gehen alle persistenten Objekte, die noch in deiner Anwendung rumschwirren in den Zustand "detached" (sprich: nicht in der Session enthalten - istz dann ja irgendwie auch logisch).
Das Problem dabei ist, dass Objekte, die nicht an einer Session hängen, von sich aus auch keine hibernate-Funktionalität, d.h. in Deinem Fall speziell das lazy-loading der angehängten Objekte, mehr nutzen können.
Was genau ist eigentlich das Problem?
Sind die Zustände in der Datenbank neuer als die im Hibernate-Cache? Dann laufen da irgend welche konkurrierenden Updates, und das ist immer schweirig in den Griff zu bekommen.
Oder willst Du zwischendurch mal die aktuellen Hibernate-Objekte auf die Datenbank schreiben? Dann einfach mal Session.flush() aufrufen...
Gruß
piet
|