JDO getKey 有时在新持久化对象后返回 null

发布于 2024-10-20 03:45:19 字数 418 浏览 0 评论 0原文

我有同样的问题,但在下面的链接中从未得到解决。有人解决这个问题了吗?

Datanucleus JDO检索新生成的主键

使用JDO + GAE,调用后makePersistent,有时Object.getKey()返回Key对象,有时返回null。

我正在使用交易。我尝试分离副本,使对象瞬态,在 Key 字段上设置 defaultFetchGroup=true ,但我仍然无法在 Key 字段始终填充的情况下获得一致的结果。

文档指出关键字段将在调用 makePersistent 后可用,但这只是有时如此。

谢谢。

I have the same question that was never resolved at the link below. Has anyone solved this?

Datanucleus JDO Retrieve newly generated primary key

Using JDO + GAE, after calling makePersistent, sometimes Object.getKey() returns a Key object and sometimes it returns null.

I'm using a transaction. I've tried detaching a copy, making the object transient, setting the defaultFetchGroup=true on the Key field and I still can't get consistent results where the Key field is always populated.

The documentation states the key field will be available after makePersistent is called, but this is only true sometimes.

Thanks.

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(1

浅唱ヾ落雨殇 2024-10-27 03:45:19

如果在 txn 中使用:对于悲观 txn,任何生成的字段都应该被填充,对于乐观 txn,它们不会被填充,直到您调用 pm.flush()。至少 JDO 规范是这样。如果在 txn 之外使用,那么您必须等待直到 makePersistent() 被刷新(直到下一个 txn 才会刷新)。

If used within a txn: with pessimistic txn any generated fields ought to be populated, and with optimistic txn they won't be populated til you call pm.flush(). At least that is the JDO spec. If used outside a txn then you have to wait til the makePersistent() is flushed (which it won't be til the next txn).

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文