Spring数据mongodb抛出org.springframework.dao.DuplicateKeyException

时间:2014-01-21 05:29:51

标签: spring mongodb spring-data objectid

我有一个对象,我想保存到mysql和mongodb

对象类就像:

订单:

public long id;
public String brokerID;//UUID
public String userID;//UUID
public String orderID;//UUID
public double price;
public long volume;

long id字段用于mysql到auto_increment并作为OUT参数返回给我,

当我尝试使用Spring数据将两个不同的订单对象保存到mongodb时,它给了我DuplicateKeyException,因为它假定id是我的密钥,并且因为它没有初始化,所以两个对象都有id = 0。

mongoOperation.insert(new Order(UUID.randomUUID().toString(), UUID.randomUUID().toString(), UUID.randomUUID().toString(), 500d, 500l));

mongoOperation.insert(new Order(UUID.randomUUID().toString(), UUID.randomUUID().toString(), UUID.randomUUID().toString(), 500d, 500l));

我如何将其保存到mongodb,将id重命名为其他内容?

1 个答案:

答案 0 :(得分:0)

好的,将id更改为其他名称,如mysqlId可以解决此问题