在更改Apache Cayenne上下文时,我会得到以下例外。

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

为什么会发生这种例外?

有帮助吗?

解决方案

您正在尝试提交一个cayenne不知道如何生成永久ID的对象。反过来,这通常会发生在基础表没有主键定义时。

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

  • 在基础表中添加主键,即替代键(新生成的ID列)或天然键(现有列的组合)。
  • 使用该对象将自己的永久ID设置为使用 PersistentObject.setObjectID() 方法。
许可以下: CC-BY-SA归因
不隶属于 StackOverflow
scroll top