Het MongoDB "_id" -veld gebruiken als primaire sleutel binnen DataNucleus

Ik ben nieuw voor MongoDB en JDO nadat ik in het verleden voornamelijk met Hibernate bezig was. Ik probeer een eenvoudig object aan te houden en gebruik de gegenereerde "_id" van MongoDB als primaire sleutel voor het aanhoudende object. Helaas lijkt het erop dat DataNucleus een veld "IDENTITEIT" genereert en dat Mongo een "_id" -veld genereert in het persistente document. Dus, elk object blijft bestaan ​​met twee unieke ID's. Hoe kan ik DataNucleus afdwingen om eenvoudigweg het gegenereerde Mongo ObjectId te gebruiken? Mijn persistente klasse is hieronder.

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

Definieer de datastore-identiteit "strategie" om IDENTITEIT te zijn (in tegenstelling tot de standaard NATIVE).

@DatastoreIdentity(strategy=IdGeneratorStrategy.IDENTITY)

d.w.z. consistent met wat er op een RDBMS nodig zou zijn om een ​​ingebouwd mechanisme te gebruiken.

0
toegevoegd