2011-01-28 177 views
1

請分享你對這種事情鑑於目前我測試了:在層之間傳遞實體對象?

  1. 有我JSF託管bean
  2. 結合的實體的屬性給JSF表單元素,如輸入文本,組合內的JPA實體,例如,甚至可以爲實體的詳細對象列表創建數據表。
  3. 讓服務對象處理實體,也就是實體對象本身,也許還有一些簡單的變量/對象
  4. 該服務將執行一些基本的驗證或簡單的過程,並將實體對象傳遞給DAO層要堅持
  5. 而JSF視圖將反映在分離實體

是這種解決方案與通過實體層之間的好不好?因爲我習慣在webapp中使用'變量'(在struts 1中使用基於地圖的formbean),但是我已經讀過關於將實體對象轉換爲其他格式的信息,但我不確定它是幹什麼用的?

如果定義實體之間的關係,我們可以把它綁定到JSF組件,因此基於渲染和填充實體的屬性。

回答

2

是的,這是完全正常的,實際上推薦的方式做到這一點現在。

這個「將實體對象轉換成其他格式」可能是指Data Transfer Object模式,在註解之前的糟糕的舊時代,實體類通常必須從某些特定於框架的基類繼承,經過字節碼操作或被EJB容器實現爲代理對象。

這種實體對象要麼不可能序列或包含比實際實體的數據更狀態,因此當串行化會浪費很多的空間。因此,如果您想要有單獨的應用服務器層,則必須使用DTO模式才能與Web層有效地進行通信。

+0

我做同樣的事情。這對我來說很有用。 – 2011-01-29 03:01:00