繁体   English   中英

GWT中的休眠查询

[英]Hibernate Queries in GWT

我想从GWT客户端触发HQL查询。 但是由于它是异步发生的,如果我要触发一系列查询,该怎么办?

异步地,所有数据都传输到客户端并使用。 但是,如果我想按顺序触发查询,该怎么做?

主要是,不应更改那些HQL结果的处理顺序。

让我知道您是否有任何疑问。 提前致谢。

GWT客户端将按照您在客户端文件中定义的顺序触发查询,即

yourClient.java

Query q1; //execute method  first request
Query q2; // execute method second request

查询将首先在序列q1上运行,然后在q2上运行,但是q2将不等待q1完成。 发送请求后,您将无法确定获得响应的顺序,则可能会执行q2,并在q1进行时先返回响应。

通常,从客户端进行排序的操作比较昂贵。 即,您可以使用AsyncCallback的成功方法查询。 当q1的响应到来时,将执行q2,但是如果您有多个查询,则它是一个昂贵的解决方案。

因此,最好的办法是使Service方法在服务器端执行所有查询,并返回结果映射,然后以您想要显示数据的任何顺序在客户端填充它。

在GWT中使用Hibernate并不像您想象的那么简单。 Google提供了有关使用Hibernate的良好文档 您已经阅读过该文档了吗?

我可以推荐使用吉利德。 我不确定这是否可以解决您的问题,因为我不确定您的问题是什么。

GWT是异步的,因此您必须基于request-> callback构建所有内容

在这种情况下,您可以做两件事:

  • 只有一个RPC服务可以收集所有查询的结果并将其返回。 请记住,服务是纯Java Servlet
  • 有许多RPC服务,每个服务都执行一个查询。 对第一个查询进行查询,然后在回调中可以显示(或收集)任何结果,然后调用第二个查询,并在其回调中执行相同的过程...依此类推。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM