테스트 서버에서 제대로 작동하지만 배포 할 때 제대로 작동하지 않는 DataNeucleus JDO 구현을 사용하고 있습니다. GAE에 익숙하지 않으며 모든 DataNeucleus 기능이 아닌 것을 알고 있습니다. 지원됩니다. 이 작업을 수행하는 방법을 모릅니다. 나는 클래스가Google App Engine이 클래스의 객체 목록을 저장하지 않습니다.
말 :
@PersistenceCapable
public class MyInfoClass {
@PrimaryKey
@Persistent(valueStrategy = IdGeneratorStrategy.IDENTITY)
Key key;
@Persistent(mappedBy = "myInfoClass")
private List <BuddyData> buddyList;
...
}
그리고 BuddyData
@PersistenceCapable
public class BuddyData {
...
@PrimaryKey
@Persistent(valueStrategy = IdGeneratorStrategy.IDENTITY)
Key key;
// the one-to-many rel to MyInfoClass -> BuddyData
@Persistent
private MyInfoClass myInfoClass;
....
}
내가 테스트 환경에서 작동하지만 애플 리케이션 엔진에 배포 할 때 작동하지 않는 등 그 이하 데이터 저장소에 데이터를 저장 .
PersistenceManager pm = PMF.get().getPersistenceManager();
Transaction tx = pm.currentTransaction();
try {
tx.begin();
//NOTE : myInfo is the persistent MyInfoClass object retrieved from the datastore
myInfo.getBuddyList().add(new BuddyData(email));
tx.commit();
} catch (Exception e) {
e.printStackTrace();
} finally {
if (tx.isActive()) {
tx.rollback();
}
pm.close();
}
감사합니다. 나는 이것을 줄 것이다. – Ramp
DataInucleus가 클래스를 향상 시켰을 때 관계에서 MyInfoClass 대신 Key를 사용하면 오류가 발생했습니다. 그러나 트랜잭션 내에서 pm.makePersistent()를 호출하면 목록을 성공적으로 저장할 수있었습니다. 나는 어쨌든 당신의 대답을 받아들이고 있습니다 .- 감사합니다! – Ramp