Java arangodb和spring数据,如何使用用户生成的Id?

Java arangodb和spring数据,如何使用用户生成的Id?,java,spring-data,arangodb,Java,Spring Data,Arangodb,我使用的是ArangoDB ArangoDB java驱动程序。版本=4.2.1和ArangoDB spring数据。版本=1.1.2(虽然很快将移动到spring boot 2,所以这些将发生变化) 我希望能够使用已经生成的id创建新对象 我意识到这可以通过使用arangoTemplate/arangoOperations(arangoOperations.insert(doc))来实现,但这将我们从spring数据中解放出来,并将arango特定的代码拉到我的服务类中 问题是,如果我保存一个

我使用的是ArangoDB ArangoDB java驱动程序。版本=4.2.1和ArangoDB spring数据。版本=1.1.2(虽然很快将移动到spring boot 2,所以这些将发生变化)

我希望能够使用已经生成的id创建新对象

我意识到这可以通过使用arangoTemplate/arangoOperations(
arangoOperations.insert(doc)
)来实现,但这将我们从spring数据中解放出来,并将arango特定的代码拉到我的服务类中

问题是,如果我保存一个已经包含id的新对象(使用@id注释),arango将假定它是一个更新,并且由于找不到对象而失败(因为它会在执行更新之前检查对象是否存在)

所以。。。有人有什么好主意可以帮助我使用arangodb和spring数据并提供我自己的ID吗

提前感谢,

Simon

这是当前的一个问题,我看到的唯一解决方法是使用带有
@Key
注释的字段,并使用
ArangoOperations.insert(Object)
初始保存实体


解决这个问题是当务之急。我创建了一个数据库来跟踪这方面的进展。

这个想法怎么可能不是正在形成的灾难?我从来没有见过有意义的ID(为什么还要由用户生成)只会带来痛苦和痛苦。@吓人:你会把用户电子邮件地址作为主键吗?@NathanHughes oops误读到有几个用例需要它,一个例子是,客户机为在发送到服务器之前创建的对象提供UUID。另一个涉及从其他系统中提取记录,其中需要相同的id。但当然——痛苦和痛苦只有几英寸之遥;)谢谢,是的,我现在已经使用了插入方法。(我会投赞成票,但没有足够的声望点数)