0

엔티티 그룹을 사용하지 않는 JDO 2.3을 사용하여 기존 GAE 시스템과 작업하고 있지만 엔티티 그룹을 사용하여 트랜잭션을 활용하기를 원합니다. 두 엔티티 유형에 일대 다 관계를 추가 했으므로 생성 된 새 엔티티에 대해 올바르게 작동하지만 부모 엔티티 관계없이 기존 엔티티와 작업 할 때 문제가 발생합니다 (하위 엔티티를 삭제할 수 없음).엔티티 그룹을 사용하도록 기존 엔티티를 마이 그 레이션

새 스키마를 사용하도록 기존 레거시 엔터티를 마이그레이션하려면 어떻게해야합니까? 나는 자식 클래스에서 부모를 업데이트 시도했지만 받아 가지고 org.datanucleus.store.appengine.DatastoreRelationFieldManager$ChildWithoutParentException ... A parent cannot be established or changed once an object has been persisted.

답변

1

첫째, 당신은 여전히 ​​엔티티 그룹의 외부 거래를 사용할 수 있습니다 -이 그룹 간 거래 (XG 거래)라고합니다. 거래 내에서 엔티티 그룹으로 제한됩니다.

참고 : 귀하의 경우 모든 엔티티는 엔티티 그룹입니다.

엔티티의 엔티티 그룹은 작성시 정의 된 변경 불가능한 특성입니다. 이것이 의미하는 바는 올바른 거래 집합을 가진 새로운 엔티티를 삭제 한 다음 쓰는 것이 필요하다는 것입니다.

+0

아, 저는 XG 트랜잭션을 알고 있습니다. 본인의 질문에 25 개 이상의 법인이 관련된 거래가 필요하다는 점을 명확히해야했습니다. D. 그럼에도 불구하고 대답의 두 번째 부분은 내가 필요한 것입니다. 원래 엔티티의 인코딩 된 pk가 사용되어 비즈니스 논리 및 기타 엔티티에 저장 되었기 때문에 새로운 엔티티 유형을 작성하지 않고 수행 할 수있는 방법이 있기를 바랬습니다. – kanghj91