我在Oracle ADF中有兩個視圖對象。視圖對象之間的雙向同步
LineVO表示訂單行 - 每個產品一行。
產品通過幾個屬性來區分...說「模型」和「顏色」。所以,VO#1爲每個模型/顏色組合包含一行。
ModelVO表示線條的模型級別摘要。
這兩個VO都有一個「數量」字段(一個整數)。
它們之間有一個ViewLink,每個對象都有一個行訪問器。
我想實現這兩個視圖對象之間的雙向協調,使得:
- 當用戶查詢數據,ModelVO.Quantity等於LineVO.Quantity的總和,對相關行
- 當用戶更新任何LineVO.Quantity時,ModelVO.Quantity會立即更新以反映新的總數
- 當用戶更新ModelVO.Quantity時,數量會在關聯的LineVO行之間分佈(根據複雜的業務邏輯我希望在這裏不重要)。
我已經嘗試了許多不同的方式來做到這一點,並不能完美實現它。
現在,我正在研究將ModelVO.Quantity設置爲Groovy表達式「LineVO.sum('Quantity')」的變體。不幸的是,我所嘗試的任何一種方法都是從LineVO-> ModelVO工作或從ModelVO-> LineVO工作,但從來沒有同時進行。
有人可以提出一種方法來做到這一點?我想在模型層(EO或VO或組合)中做到這一點。