1

提交对 Apache Cayenne 上下文的更改时,我收到如下异常。

org.apache.cayenne.CayenneRuntimeException: [v.3.0.1 Sep 06 2010 15:09:38]
Temporary ID hasn't been replaced on commit

为什么会出现这个异常?

4

1 回答 1

2

您正在尝试提交 Cayenne 不知道如何为其生成永久 ID 的对象。当基础表没有定义主键时,通常会发生这种情况。

要解决此问题,请执行以下操作之一。

  • 向基础表添加主键,代理键(新生成的 id 列)或自然键(现有列的组合)。
  • PersistentObject.setObjectID()使用该方法在相关对象上设置您自己的永久 ID 。
于 2011-01-24T17:20:47.293 回答