2010-07-08 37 views
0

我想了解将Gilead与GXT和休眠集成的最佳方式。这篇文章http://code.google.com/webtoolkit/articles/using_gwt_with_hibernate.html描述了Gilead与GWT的用法。使用GXT和GXT的最佳方式是什么?

大多数GXT组件都使用继承BaseModelData的自定义类绑定,这是否意味着我们需要将绑定到GXT组件之前将持久化的bean(LightEntity bean)转换为扩展BaseModelData的自定义类。我的理解是否正确?如果是的话,那么我得到的优势是什么,我需要再次使用推土铲/手动编码转换吗?

gilead网站上的例子很可悲,任何人都可以提供一个链接,其中提供了一个使用GXT与Gilead和hibernate一个完整示例的链接?

谢谢

回答

1

你不需要让你的DAO实现BaseModelData。

你需要做的是为每个DAO类在GWT客户端包中创建一个接口。您必须扩展BeanModelMarker并使用@BEAN注释。这告诉EXT GWT,你的DAO可以作为先生成一个BeanModel

package org.gwtapp.client.model; 

import com.extjs.gxt.ui.client.data.BeanModelMarker; 
import com.extjs.gxt.ui.client.data.BeanModelMarker.BEAN; 

@BEAN(org.vnsny.domain.MyClass.class) 
public interface MyClassBeanModel extends BeanModelMarker { 

} 

然后,当你需要从你的类创建先生成一个BeanModel使用BeanModelFactory

BeanModel model = BeanModelLookup.get().getFactory(
       MyClass.class).createModel(myClassObj); 
1

此外,当您使用数据组件和检索类型与子类的实例的超集,就需要把这个设置添加到豆读者

    reader.setFactoryForEachBean(true); 

如果不设置工厂的每一个都可以一,读者将尝试施放的所有对象的类集合

防爆的一审: 超类=动物 子类=狗,猫

在远程方法返回的列表动物:列出并创建每个类的bean模型接口。