0

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

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

吉利德网站上的示例很可悲,任何人都可以提供一个链接,其中包含使用 GXT 与吉利德和休眠的完整示例吗?

谢谢

4

2 回答 2

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);
于 2010-07-30T19:36:49.133 回答
1

此外,当您使用数据组件并检索类型为具有子类实例的超类的集合时,您需要将此设置添加到 bean 阅读器

                    reader.setFactoryForEachBean(true);

如果没有为每个 bean 设置工厂,读者会尝试将所有对象转换为集合的第一个实例的类

例如:超类 = 动物子类 = 狗、猫

在远程方法中,您返回一个 Animal: List 列表并为每个类创建 bean 模型接口。

于 2011-04-15T15:33:45.097 回答