我使用@Id
注释设置文档,在我的测试中,我得到一个MappingException
,因为在创建新文档时未设置Id。 spring-data + couchbase无法为新文档自动分配ID吗?弹簧数据Couchbase:自动生成ID
1
A
回答
3
Couchbase中没有ID的自动生成,所以您需要设置一个。
请记住,Couchbase可以将异构数据存储在同一个Bucket
中,所以默认情况下,如果您有多种类型的实体,它们将最终存储在同一个存储单元中。因此,如果你有例如。 User
和Product
个实体,创建并保存User
其中@Id
是“foo”,那么0123'也会被id-ed“foo”最终将用Product
覆盖User
。
我的意思是,您必须提供@Id
和确保没有ID冲突,即使在实体类中也是如此。
0
此外,还有一个可用于Couchbase Java SDK的UUID Generator,可以帮助您。
有关于UUID here的讨论。
0
您可以使用Java生成唯一的UUID。这将由Java生成UUID。可以在Couchbase PK中作为唯一使用。
@Document
public class BasicEntity {
@Id
@Field
private String _id;
/**
* @return the _id
*/
public String get_id() {
return _id;
}
/**
*/
public void set_id() {
this._id = UUID.randomUUID().toString();
}
}
1
+0
我无法得到这个工作。在这里发布的问题:https://stackoverflow.com/questions/47998493/how-are-ids-autogenerated-in-spring-data-couchbase请帮助。 – User1230321
相关问题
- 1. 弹簧引导数据redis集成弹簧数据jpa
- 2. 弹簧集成 - 控制自动启动
- 3. Couchbase弹簧中的原子计数器
- 4. 弹簧安全oauth2手动生成authcode
- 5. 自动生成ID
- 6. 生成自动ID
- 7. 自动生成ID
- 8. 如何使用弹簧数据solr实现自动完成
- 9. Couchbase转换器弹簧数据混淆整数长
- 10. 弹簧集成自动关机
- 11. 没有获得弹簧安全自动生成登录页
- 12. 弹簧数据couchbase抛出DocumentDoesNotExistException不存在的文件
- 13. 乐观锁定不适用于弹簧数据couchbase @version
- 14. 如何获得自动的ID生成的ID从数据库
- 15. 弹簧批量弹簧数据
- 16. 自动生成的ID
- 17. 生成自动ID IdGeneratorStrategy
- 18. 防止ID自动生成
- 19. 弹簧启动与弹簧数据休息配置错误
- 20. 自动生成字母数字ID
- 21. 弹簧自动布线
- 22. 弹簧自动布线类
- 23. 生成源中的弹簧数据编译错误
- 24. 查看使用弹簧数据生成的查询 - jpa
- 25. 弹簧引导jpa - 生成并保存测试数据
- 26. 弹簧数据aerospike
- 27. 我可以使用弹簧数据couchbase从副本读取数据吗?
- 28. 来自数据库的弹簧配置
- 29. 混合弹簧数据jpa +弹簧数据neo4j。 users服务
- 30. 与弹簧集成启动竞赛条件弹簧批次
是的,使用Couchbase的原子计数器文档可以用于生成ID序列。除非在每种类型的文档中使用相同的计数器,否则您仍然需要例如。使用前缀来确保id的唯一性。 –