【问题标题】:A little bit diffrent GWT/GXT persistent approach有点不同的 GWT/GXT 持久化方法
【发布时间】:2011-01-13 20:53:25
【问题描述】:

我是 GWT/GXT 的新手,我正在为我未来的应用寻找最佳的持久性方式。我正在考虑这样做的许多变体,所以我决定在这里画一个图表:


所以我的结论是:
1) JPA/Hibernate 是最好的持久化框架,但它讨厌与 GWT 合作,特别是与 GXT 合作
2) JDBC 这只是一个示例笑话 :)
3) MyBatis 确实是从 db 获取数据的好工具,它快速、高效并且具有在 Hibernate 中没有的巨大可能性,但编写映射器是有史以来最糟糕的事情。
4) Dozzer 是服务器和用户资源的杀手。您必须编写大量样板代码,而它只是复制数据(有时很多)。不要不惜一切代价使用它!!!想象一下运行 100 个会话的服务器,每个 bean 请求都必须使用 Dozzer。
5) DTO - 类似情况。它是样板文件,它只是将一种数据类型转换为另一种数据类型。没有认真的数据处理。明智地使用服务器资源。
6)吉利德正在复制休眠豆状态。它可能很危险(只是从少数 cmets 听说),难以配置和与其他 IoC 框架集成(在我的例子中是 Guice)。
7)不要在客户端将POJO转化为BeanModel。 JavaScript 真的很慢,它会拖慢整个客户端的速度。
8) 对我来说,也许对你来说的最佳实践:在图表上找到从 DB 到客户端 BaseModel bean 的最短路径。
9) MyBatis 允许将查询结果映射到 BaseModel bean(已测试),因此它们不需要多次转换,您根本不必关心它。唯一的事情就是编写正确的映射。

这是我的个人意见,但我想知道您的意见。如果我错了,请解释我并给出缺点论点。我真的很想使用 Hibernate,或者您可能知道另一个 ORM 或类似于 MyBatis 框架,它可以让我直接映射到 BeanModel。

出于我的目的,我将开发一个应用程序,该应用程序将为我生成 BaseModel 样式的域类,其中包含映射器、验证器、编辑器、高级搜索面板、DAO、服务和 GWT-RPC 类。最好的解决方案是开发自己的脚手架:D。你怎么看?

【问题讨论】:

    标签: hibernate gwt persistence gxt mybatis


    【解决方案1】:

    你开发自己的脚手架..这就是我所做的。这是我的流程 DB-> JPA -> Entity Beans -> 我自己的转换器类 -> BaseModel

    在我的应用程序中,BaseModel 用作 DTO。在 GWT RPC 服务中,我根据需要将 BaseModel 转换为 Entity Bean,将 Entity Bean 转换为 BaseModel。

    -Zawoad

    【讨论】:

      【解决方案2】:

      也许看看 GWT RequestFactory。这是 2.1 中的新功能

      http://code.google.com/webtoolkit/doc/latest/DevGuideRequestFactory.html

      我个人使用吉利德,没有任何问题,不需要大的配置。我不会做太多的延迟加载集合。我只是带着这个想法设计了我的用例。

      【讨论】:

        【解决方案3】:

        有没有人尝试过使用 hibernate 的动态模型,看起来您应该能够直接映射到 GXT BaseModel。 见:Hibernate Dymanic Models Section

        【讨论】:

          【解决方案4】:

          我在 GWT 中使用了 MyBatis,我很满意,因为 MyBatis 只使用 POJO,因此对象很容易在客户端和服务器之间传输(不再需要 DAO、DTO)。如果您不喜欢编写 XML 映射器,可以使用 MyBatis 的注解,我喜欢它的简单。 所以我的推荐是MyBatis

          【讨论】:

          • 嗯,这只是我对有类似问题的人的看法
          猜你喜欢
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          相关资源
          最近更新 更多