在DataNucleus中使用MongoDB“_id”字段作为主键

在DataNucleus中使用MongoDB“_id”字段作为主键,mongodb,jdo,datanucleus,Mongodb,Jdo,Datanucleus,在过去主要使用Hibernate进行开发之后,我对MongoDB和JDO是新手。我试图持久化一个简单对象,并利用从MongoDB生成的_id作为持久化对象的主键。不幸的是,看起来DataNucleus正在生成一个标识字段,而Mongo在持久化文档中生成了一个_id字段。因此,每个对象都使用两个唯一标识符进行持久化。如何强制DataNucleus仅使用生成的Mongo ObjectId?我的课程如下 @PersistentCapable(identityType=IdentityType.DATA

在过去主要使用Hibernate进行开发之后,我对MongoDB和JDO是新手。我试图持久化一个简单对象,并利用从MongoDB生成的_id作为持久化对象的主键。不幸的是,看起来DataNucleus正在生成一个标识字段,而Mongo在持久化文档中生成了一个_id字段。因此,每个对象都使用两个唯一标识符进行持久化。如何强制DataNucleus仅使用生成的Mongo ObjectId?我的课程如下

@PersistentCapable(identityType=IdentityType.DATASTORE)
public class HistoricalPrice {

private String ticker;
private Date day;
private double open;
private double close;
private double high;
private double low;
private long volume;

public HistoricalPrice(String ticker, Date day, double open, double close, double high, double low, long volume) {
    super();
    this.ticker = ticker;
    this.day = day;
    this.open = open;
    this.close = close;
    this.high = high;
    this.low = low;
    this.volume = volume;
}

将数据存储标识策略定义为identity,而不是默认的NATIVE

@DatastoreIdentity(strategy=IdGeneratorStrategy.IDENTITY)
i、 e与RDBMS上使用某种内置机制所需的一致