2010-07-08 38 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模型接口。