0
我在GWT项目中使用datanucleus和jdo。我如何与makePersistent这个()Datanucleus JDO检索新生成的主键
编辑 我们使用注解将一个元素增加到数据库后检索生成的主键,这里是主键:
@PrimaryKey
@Column(name = "id_bla", allowsNull = "false")
@Persistent(valueStrategy = IdGeneratorStrategy.IDENTITY, extensions = { @Extension(vendorName = "datanucleus", key = "strategy-when-notnull", value = "false") })
private Long idBla;
我不是一个谁做了映射,我还没有得到所有这一切。
感谢您的回答。这是我期望的行为,但在我的“makePersistent(obj)”之后,我的obj.getId()仍为空...虽然DB中的id已正确生成,并且所有其他数据都正常保存。 – Jla 2010-06-14 07:14:25
您使用注释或XML吗?如果ID出现在数据库中,那么注释(如identityType,valueStrategy等)可能是正确的。 getObjectById()是否工作?检查getId()中的拼写错误! – 2010-06-14 09:26:37
我使用注释(我编辑了我的帖子)。这是生成ID的DB,因此我无法在makePersitent后面检索它。我只是用DB中的ID尝试getObjectById(),但我得到了“没有这样的数据库行”异常。当我通过正确检索ID查询所有结果时。 – Jla 2010-06-16 07:25:57