我已经建立了自己的机制来为我的域对象分配身份,因此在持久化它们时,跟踪 MongoDB 分配给它们的内容对我来说真的没有太大值(value)。但是,我将域类的标识字段命名为 id
,因为它简洁易懂。问题是,according to the documentation , Spring 会自动将这个字段映射到 MongoDB 分配的 ObjectID。如何防止这种情况发生而不必重命名我的 id 字段,或者为了解决这个问题而定义一个用 @Id
注释的自定义身份字段?
最佳答案
使用@MongoId 而不是@Id
@MongoId(targetType = FieldType.STRING)
protected String id;
即使“形状”是一个 ObjectId,它也会存储字符串
关于java - 如何防止 Spring Data MongoDB 将 id 字段映射为对象 id?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/44704977/