我想从 GWT 客户端触发 HQL 查询。但是由于它是异步的,如果我想触发一系列查询,我该怎么做?
所有数据都异步传输到客户端并使用。但是,如果我想按顺序触发查询,我该怎么做?
主要是这些HQL结果的处理顺序不应该改变。
如果您有任何疑问,请告诉我。提前致谢。
我想从 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,但如果您有多个查询,那么它是一个昂贵的解决方案。
所以最好的事情是让服务方法在服务器端执行所有查询并返回结果映射,然后以您想要显示数据的任何顺序将其填充到客户端。
GWT 是异步的,因此您必须基于 request->callback 构建所有内容
在这样的情况下,您可以做两件事:
将 Hibernate 与 GWT 一起使用并不像您想象的那么简单。Google 有一个很好的使用 Hibernate 的文档。您是否已经阅读过该文档?
我可以推荐使用吉利德。我不确定这是否能解决您的问题,因为我不确定您的问题是什么。