Erstellen der Hibernate-Session-per-Request

Ich habe gerade angefangen, eine einfache Java-testproject verwaltet einige entities mit Hibernate und stellt eine REST-Schnittstelle zur Manipulation dieser Objekte und bieten einige zusätzliche business-Logik. Die REST-Schnittstelle ist erstellt mit RESTEasy und Steg.

Alles funktioniert so weit, aber ich habe das Gefühl, dass ich tatsächlich schreiben zu viel boilerplate-code. Da ich nicht viel Erfahrung in diesen Java-frameworks, ich Frage mich nur, wenn jemand könnte mir einen Tipp geben, wie die situation zu verbessern.

  1. Creting Hibernate-Sitzungen pro Anfrage

Gut, soweit ich das verstanden habe ich das erstellen einer Hibernate-session-per-request und am Ende habe ich, um es zu schließen. Also derzeit sind alle meine service-Methoden wie folgt Aussehen:

Session session = HibernateUtil.getInstance().getSessionFactory().openSession();
...
...
...
session.close();

Gibt es eine Möglichkeit, diese zu entfernen, zwei Zeilen, um irgendwie automatisch?
Derzeit mein service ist registriert als RestEASY singleton. Wird ein Wechsel zu einer RESTeasy ressource und die Schaffung der Sitzung im Konstruktor das problem lösen? Ich denke, es wird das problem der Erstellung der Sitzung. Aber wherer, um es zu schließen?

In C++ dies kann leicht getan werden, erstellen ein scoped-Objekt schließt die Sitzung am Ende. Aber in Java?

  1. Immer wenn so eine REST-Anforderung gemacht wird, ich habe zu prüfen, für die eine gültige Sitzung (der Benutzer muss die Anmeldung vorher). Ist ein ServletFilter der richtige Weg, dies zu tun?

Allgemein: gibt es irgendwelche anderen Muster oder frameworks, die ich in Betracht ziehen sollten? Ich meine ich will es so einfach wie möglich und vor allem, wie ich dont haben viel Erfahrung, die ich nicht wollen, um am Ende mit Spring oder was auch immer Schwergewichts-framework. Scheint, dass ich ' m verwendet, um die Einfachheit von Python und Django, aber für dieses kleine Projekt habe ich mit Java.

Dank so weit!!!

InformationsquelleAutor duselbaer | 2012-04-24
Schreibe einen Kommentar