PostgreSQL
 sql >> Datenbank >  >> RDS >> PostgreSQL

Speichern Sie die Änderungen in der Datenbank vaadin

Nun, das erste, was Sie erkennen müssen, ist, dass sich Vaadin von einem herkömmlichen Request/Response-Web-Framework unterscheidet. Eigentlich ist Vaadin *ereignisgesteuert * Framework sehr ähnlich wie Swing. Es baut vom ersten Klick des Benutzers an einen Anwendungskontext auf und hält ihn während des gesamten Website-Besuchs. Das Problem ist, dass es keinen Eingangsanforderungspunkt gibt, an dem Sie eine Ruhezustandssitzung starten können, und keinen Antwortpunkt zum Schließen. Es gibt unzählige Anfragen während eines einzigen Klicks auf die Schaltfläche.

Also entitymanager-per-request Muster ist völlig nutzlos. Es ist besser, ein eigenständiges em oder em-per-session zu verwenden Muster mit hibernate.connection_release after_transaction, um den Verbindungspool niedrig zu halten.

Für die JPAContianer ist es nicht verwendbar, da Sie den Container aktualisieren oder Beans mit Beziehungen handhaben müssen. Außerdem habe ich es nicht geschafft, es mit Batch Load zum Laufen zu bringen, so dass jedes Lesen von Einträgen oder Relationen einer Auswahl an DB entspricht. Lazy Loading wird nicht unterstützt.

Alles, was Sie brauchen, ist offene EM/Session. Versuchen Sie, die vorgeschlagenen Muster zu verwenden, oder öffnen Sie bei jeder Transaktion EM/Sitzung und führen Sie zuerst Ihre Bean zusammen.

Ihre Frage ist ziemlich komplex und schwer zu beantworten, aber ich hoffe, diese Links helfen Ihnen beim Einstieg in:

Pojo-Bindungsstrategie für den Ruhezustand

https://vaadin.com/forum#!/thread/39712

MVP-lite

https://vaadin.com/directory#addon/mvp-lite (bei ereignisgesteuertem Muster bleiben)