DataNucleus内でMongoDB "_id"フィールドを主キーとして使用する

私はMongoDBとJDOを初めて使っています。これは過去にHibernateで開発を主に行った後です。単純なオブジェクトを永続化し、永続化されたオブジェクトの主キーとしてMongoDBから生成された "_id"を利用しようとしています。残念ながら、DataNucleusは永続化されたドキュメントに「_id」フィールドを生成するだけでなく、「IDENTITY」フィールドを生成しているようです。したがって、すべてのオブジェクトは2つの一意の識別子で永続化されます。生成されたMongo ObjectIdを単に使用するためにDataNucleusを強制する方法はありますか?私の永続クラスは以下の通りです。

@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;
}
0

1 答え

データストアID「戦略」をIDENTITY(デフォルトのNATIVEではなく)に定義します。

@DatastoreIdentity(strategy=IdGeneratorStrategy.IDENTITY)

すなわち、いくつかの組み込み機構を使用するためにRDBMS上で必要とされるものと一致する。

0
追加された