我有同样的问题,从未在下面的链接中解决。有没有人解决过这个问题?
Datanucleus JDO Retrieve newly generated primary key
使用JDO + GAE,在调用makePersistent之后,有时Object.getKey()返回一个Key对象,有时它返回null。
我正在使用交易。我已经尝试分离副本,使对象瞬态,在Key字段上设置defaultFetchGroup = true,但仍然无法获得始终填充Key字段的一致结果。
文档说明调用makePersistent后关键字段可用,但有时这只是真的。
感谢。
答案 0 :(得分:1)
如果在txn中使用:使用悲观txn,任何生成的字段都应该填充,并且乐观txn它们将不会被填充,直到你调用pm.flush()。至少这是JDO规范。如果在txn之外使用,那么你必须等到makePersistent()被刷新(它不会直到下一个txn)。