小编Kap*_*nky的帖子

找不到java.lang.Object的映射元数据 - Couchbase

我在CouchBase存储库中持久化实体并尝试查询它.该实体看起来像这样:

@Document(expiry = 0)
public class GsJsonStore implements Serializable {
    private static final long serialVersionUID = 7133072282172062535L;
    @Id @GeneratedValue(strategy=GenerationType.AUTO)
    private long id;
    @Field
    private Map<String,Object> _object;
    @Field
    private String _subject;
    @Field
    private String _predicate;
    //Getters and Setters 
    }
Run Code Online (Sandbox Code Playgroud)

我在CouchbaseOperations模板上使用N1QL查询来查询实体,如下所示:

String query1 =  "SELECT META(default).id as _ID, META(default).cas as _CAS, default.* FROM default WHERE "+key+"="+"'"+value+"'";

List<GsJsonStore> list = operations.findByN1QL(N1qlQuery.simple(query1), GsJsonStore.class);
Run Code Online (Sandbox Code Playgroud)

我在_object Map中查询KV对.我收到一个错误:No mapping metadata found for java.lang.Object

为什么会这样?另外,我Map<String,Object>在Couchbase中存储json对象,我尝试使用jackson JsonNode类型,但对象也存储了类相关的元数据.是否有更好的数据类型来表示json类型?

编辑

存储在Couchbase中的数据:

{
"_object" : {
"Name" : …
Run Code Online (Sandbox Code Playgroud)

couchbase spring-data-couchbase

0
推荐指数
1
解决办法
2147
查看次数

标签 统计

couchbase ×1

spring-data-couchbase ×1