Mongodb value()包含两次typename。对吗?

Mongodb value()包含两次typename。对吗?,mongodb,javers,Mongodb,Javers,InstanceId.value()包含类型名两次,对吗 // gives "typename/...,typename' public String value(){ return this.getTypeName() + "/" + this.getCdoIdAsString(); } // gives comma-separated persistent values including typename private String getCdoIdAsString(){

InstanceId.value()包含类型名两次,对吗

// gives "typename/...,typename'
public String value(){
    return this.getTypeName() + "/" + this.getCdoIdAsString();  
}

// gives comma-separated persistent values including typename
private String getCdoIdAsString(){
    return ReflectionUtil.reflectiveToString(this.cdoId); 
}
因此,对于具有某些Guid的自定义类型“StateStructures.Framework”,MongoRepository.queryForSnapshots()接收以下bson查询(并返回0个结果):

如果我手动从末尾删除“、StateStructures.Framework”,那么mongo将返回预期的行

这看起来像一个bug:在InstanceId.value()中用typename声明,然后在InstanceId.getCdoIdAsString()中再次追加它,这会使查询完全不正确。
相反,在InstanceId.getCdoIdAsString()中的持久字段迭代过程中忽略typename似乎可以解决此错误。

如果不了解域类(状态结构和框架),很难回答此问题。据我所知,您使用复杂对象作为Id

请发布这些类,以及有关正在比较的对象的详细信息。 您是否使用最新的Javers版本(1.4.0)

{ "globalId_key" : "StateStructures.Framework/49168d17-60e9-4720-97d2-a6f7928e18b6-0000,StateStructures.Framework"}