【问题标题】:Spring data mongodb throws org.springframework.dao.DuplicateKeyExceptionSpring数据mongodb抛出org.springframework.dao.DuplicateKeyException
【发布时间】:2014-01-21 05:29:51
【问题描述】:

我有一个对象要同时保存到 mysql 和 mongodb

对象类是这样的:

订单:

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

长id字段是为了让mysql自动递增并作为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 重命名为其他名称?

【问题讨论】:

    标签: spring mongodb spring-data objectid


    【解决方案1】:

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

    【讨论】:

      猜你喜欢
      • 2013-12-28
      • 2019-07-24
      • 2020-03-06
      • 2017-07-04
      • 1970-01-01
      • 1970-01-01
      • 2013-05-04
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多