안녕하세요 저는 상위 엔티티가 하위 엔티티 목록이있는 A라고 말합니다. 목록 <B>라고 말합니다.GAE, JDO : 정렬 된 목록의 엔티티 추가, 이동 및 삭제
내 신청서가 중요하기 때문에 하위 항목을 유지 관리해야합니다.
내가 그것을 사용했던 방법 : 정렬 된 컬렉션이 순서를 유지하는 방법 https://developers.google.com/appengine/docs/java/datastore/jdo/relationships#Owned_One_to_Many_Relationships
. 사용
newObj.setIndex(0);
for (int i = 0; i < objList.size(); i++) {
objList.get(i).setIndex(i + 1);
}
objList.add(newObj);
이동 :
@Persistent
@Element(dependent = "true")
@Order(extensions = @Extension(vendorName="datanucleus", key="list-ordering", value="index ASC"))
private List objects;
지금 내가 사용 목록에 추가
if (direction.equalsIgnoreCase("up")) {
objList.get(index).setIndex(index - 1);
objList.get(index - 1).setIndex(index);
}
else if (direction.equalsIgnoreCase("down")) {
objList.get(index).setIndex(index + 1);
objList.get(index + 1).setIndex(index);
}
을 그리고 사용하여 삭제합니다
for (int i = index + 1; i < objList.size(); i++) {
objList.get(i).setIndex(i - 1);
}
objList.remove(index);
올바른 방법인가요? & 이동이 작동하는 것처럼 보입니다. 그러나 삭제는 이상하게 행동합니다. 임의의 obj가 삭제되고 목록이 완전히 일치하지 않는 상태가됩니다!
GAE : 1.7.2
DataNucleus 증강 (버전 3.1.0.m2)
완벽! 감사 :) – Srinivas