2011-03-04 2 views
0

아래 링크에서 해결되지 않은 동일한 질문이 있습니다. 아무도 이것을 풀어 봤나? makePersistent, 때로는 Object.getKey()를 호출 한 후 JDO + GAE를 사용JDO getKey는 때때로 새롭게 지속되는 객체 뒤에 null을 반환합니다.

Datanucleus JDO Retrieve newly generated primary key

는 키 객체를 반환하고 경우에 따라서는 null를 돌려줍니다.

거래를 사용 중입니다. 나는 복사본을 분리하여 객체를 일시적으로 만들고 Key 필드에서 defaultFetchGroup = true를 설정했지만 Key 필드가 항상 채워진 일관된 결과를 얻을 수 없다.

설명서에 따르면 makePersistent를 호출 한 후에 키 필드를 사용할 수 있다고 나와 있지만이 경우에만 해당됩니다.

감사합니다.

답변

1

txn :에서 비관적 인 경우 생성 된 모든 필드를 채워야하며 낙관적 인 txn은 pm.flush()를 호출 할 때까지 채워지지 않습니다. 적어도 그것은 JDO 사양입니다. txn 밖에서 사용된다면 makePersistent()가 플러시 될 때까지 기다려야합니다 (다음 txn이 될 때까지).

관련 문제