PostgreSQL
 sql >> Base de Dados >  >> RDS >> PostgreSQL

Salvar alterações no banco de dados vaadin


Bem, a primeira coisa que você precisa perceber é que o Vaadin difere do framework web convencional de solicitação/resposta. Na verdade, Vaadin é *orientado a eventos * framework muito semelhante ao Swing. Ele cria um contexto de aplicativo desde o primeiro clique do usuário e o mantém durante toda a visita ao site. O problema é que não há ponto de solicitação de entrada que você possa iniciar a sessão de hibernação e nenhum ponto de resposta para fechar. Há toneladas de solicitações durante um único clique no botão.

Então, entitymanager-per-request padrão é completamente inútil. É melhor usar um em autônomo ou em-por-sessão padrão com hibernate.connection_release after_transaction para manter o pool de conexões baixo.

Para o JPAContianer, ele não é utilizável, pois você precisa atualizar o container ou tem que manipular beans com relações. Além disso, não consegui fazê-lo funcionar com carregamento em lote, portanto, cada leitura de entrada ou relação equivale a um select para DB. Não suporta carregamento lento.

Tudo que você precisa é abrir EM/sessão. Tente usar padrões sugeridos ou abra o EM/sessão a cada transação e mescle seu bean primeiro.

Sua pergunta é bastante complexa e difícil de responder, mas espero que esses links ajudem você a entrar em:

Estratégia de vinculação de Pojo para hibernação

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

MVP-lite

https://vaadin.com/directory#addon/mvp-lite (mantenha o padrão orientado a eventos)