Beste Weg, damit umzugehen Hibernate-Sessions in einem geschichteten Spring MVC Web-Anwendung

Wenn wir eine web-Anwendung, die hat

  • heavy UI (Spring MVC + JQuery mit JSON)
  • Hibernate mit JPA-Annotationen wird die Domäne Modell
  • verlängern Frühjahr-vorausgesetzt, DAO-code, der DAO-Schicht
  • JBOSS als app-server mit Oracle als backend
  • Datasource (JNDI) connection pooling (Nicht XA-eher Lokale Datenquelle)
  • hat auch Zugriff auf mehrere Datenquellen (Umgang mit mehreren DB)

Behaviorally, viele Daten abrufen (70%) und die update-Daten 30%

Was wäre der best practices für die folgenden, um effektiv zu verbrauchen, DB-verbindungen und auch zu sehen, dass es nicht viel Leckage an der Verbindung nutzen?

  1. wäre es besser, entscheiden Sie sich für Hibernate template-basierte DAOs?
  2. Welche Art von Transaktion-manager würde vorschlagen-können und sollen wir gehen, für die AOP-basierte Transaktion managementWhere
  3. wo zu instanziieren Sitzung und und wo schließen die Sitzungen, um effektiv zu verbrauchen verbindungen von Verbindungs-pooling.
  4. Es ist wahr, dass wir brauchen, um Transaktionen von Service-Schicht, aber was passiert mit sessions würde Sie warten, für längere Zeit (wir sind nicht mit jedem opensessioninviewFilter)
  5. die Schicht ist besser zu handhaben, die checked exceptions (business Ausnahmen) und runtime-exceptions.

Sorry für diese Wesen, etwas längere Frage, aber ich sehe, dass dieses Wesen eine gemeinsame Abfrage und ich versuchte Sie konsolidieren. Schätzen Ihre Geduld und Beratung. Vielen Dank für Ihre Hilfe.

  • Was ist, wenn wir geplant, um Datenbank-Partitionierung( Tabelle Range/Hash-partition) am Backend. Funktioniert Hibernate (oder Scherben? Noch nicht in die Produktion!) Unterstützung?
InformationsquelleAutor Hareesh Ram | 2011-07-17
Schreibe einen Kommentar