2013-05-14 37 views
0

我一直在开发一个使用JSF & PrimeFaces的网站。在开发时,我发现任何Web应用程序都有两个瓶颈。如我错了请纠正我。如何更有效地实现Web应用程序?

的瓶颈是:

  1. 我使用Hibernate框架对持久层。现在,如果在数据库中发生更改 ,则无法反映在范围为 的bean中。 Hibernate具有动态更新属性,这有助于仅更新 表[受保持时]的受影响记录。但我还没有找到类似的 类型的机制,我总是可以得到更新的DAO。在这里, 开发人员必须负责通过使用 session.refresh()方法更新它们,它只是从数据库表中重新加载整个对象 树。因此,对于每个小型数据库更改,I 认为DAO [在Hibernate]中的缓存功能在每次从会话缓存中清除后都会错过 。总之,数据库更新不会触发DAO更新。

  2. 更新DAO,如果我想反映在视图级别更改后,然后我不得不采取Primeface插座[PrimePush]的帮助,因为刷新页面每次都得不到良好的执行& primeface插座允许的更新具体的ID。所以,这意味着对于每个DAO领域,我需要借助许多不同的Primeface套接字,每个套接字都有独特的通道。还要将消息发送到这些不同的套接字必须由开发人员在bean代码中完成。

所以,问题是如何以有效的方式处理这些问题?有没有其他技术/框架可以解决这些问题,以便开发人员不必担心?

回答

0

理想情况下,你shoule会做这样的:

的Hibernate持久层(DAO具有执行CRUD操作)

其访问您的DAO使用BackBean更新查看

视图(Primefaces)管Bean。

你不需要PrimePush或其他东西。它应该通过您的视图中的动作来刷新

+0

Hibernate不提供DAO自动更新功能。因此,为了传达像“嗨,我改变了。请更新您的相应页面部分我渲染” ,我认为primepush是必需的。举例来说,您可以在社交网站中更新帖子,并且您的朋友可以即时看到更新。 – 2013-05-15 05:01:44

相关问题