seems like you are trying to update multiple rows multiple times as there might be duplicate rows. Please try to remove such duplicates.
Set<String> keys = new HashSet<String>();
//inside the loop
if(keys.contains(dim.getAr_id() + "#" + dim.getPe_id() + "#" + dim.getCe_id()))
continue;
else
keys.add(dim.getAr_id() + "#" + dim.getPe_id() + "#" + dim.getCe_id());