如何自动在App引擎数据存储中生成Id? 我正在使用自动创建的后端函数insertEntity()。
作为我使用的主键
@PrimaryKey
@Persistent(valueStrategy = IdGeneratorStrategy.IDENTITY)
private Long Id;
当我调用insert函数时,我希望数据存储区自动分配这个Id ...
感谢。
答案 0 :(得分:1)
从技术上讲,你所做的事情没有错。该ID将自动生成。
我认为问题是为insertEntity()方法生成的自动生成代码。代码当前期望已提供ID值,并且基于此值,它首先尝试检索现有实体。由于ID很可能为空,即您尚未传递,因此会导致代码中出现异常。
修改代码以检查getId() != null
。如果不为null,则只允许它继续前进,否则只需调用makePersistent()
代码。