DataNucleus içinde birincil anahtar olarak MongoDB "_id" alanını kullanma

Geçmişte Hibernate ile birlikte çoğunlukla geliştirme yaptıktan sonra MongoDB ve JDO için yeniyim. Basit bir nesneyi sürdürmeye ve ısrar edilen nesnenin birincil anahtarı olarak MongoDB'den üretilen "_id" den yararlanmaya çalışıyorum. Ne yazık ki, DataNucleus kalıcı belgede "IDIDITY" alan oluştururken Mongo'nun yanında "_id" alan oluşturuyor gibi görünüyor. Böylece, her nesne iki benzersiz tanımlayıcı ile ısrar ediyor. DataNucleus'u yalnızca oluşturulan Mongo ObjectId'i kullanmaya nasıl zorlayabilirim? Kalıcı dersim aşağıda.

@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 cevap

Veri deposu kimliğini "strateji" olarak KİMLİK olarak tanımlayın (NATIVE varsayılanına göre).

@DatastoreIdentity(strategy=IdGeneratorStrategy.IDENTITY)

yani bazı yerleşik mekanizmaları kullanmak için bir RDBMS'de nelerin gerekli olacağı ile tutarlı.

0
katma