java和sql問題
(1) 頁面數據顯示如下:
id 部門代號 簽合順序
10 03 1
11 03 2
12 03 3
13 03 4
14 03 5
15 03 6
上面每一行是一個對象,數據顯示方面都做出來了;現在需求就是這六行的每一行位置可以隨意,如其中一種:
(2) id 部門代號 簽合順序
15 03 6
11 03 2
12 03 3
13 03 4
14 03 5
10 03 1
現在位置變更也實現了,還有變更后的順序也能獲取.然后因為行位置變化了,所以得重新將"簽合順序"按變更后的順序更新到數據庫里.最后效果就是:
(2) id 部門代號 簽合順序
15 03 1
11 03 2
12 03 3
13 03 4
14 03 5
10 03 6
數據庫表:
fee_flow_user(id number,branch_no varchar2,flow_user number,chk_seq int)
id:主鍵 branch_no:部門代號 chk_seq:簽合順序,而且branch_no和chk_seq兩個合起來有唯一性約束
我開始是這樣實現的:
int seq = 0;
for(UserFeeFlowDTO userFeeFlowDTO : dtos) { //dtos是封裝行變更后的一個集合
FeeFlowUser flowUser = flowDAO.findByPK(userFeeFlowDTO.getId()); //FeeFlowUser映射表fee_flow_user
flowUser.setChkSeq(++seq);
flowDAO.update(flowUser);
}
DAOFactory.getDAOFactory().commit();
這樣做會報唯一性約束錯誤...所以請大家看下有什么良策?也不知道是否描述清楚了?
小弟在此先感謝...