Cayenne如何解决“尚未替换临时ID”的“临时ID”
-
24-10-2019 - |
题
在更改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()
方法。
不隶属于 StackOverflow