Mongojack можно сохранить идентификатор в виде строки

Можно ли сохранить поле идентификатора типа String в POJO как String в коллекции монго?

Я пытался аннотировать POJO, как описано в официальной документации, но свойство коллекции _id всегда сохраняется как ObjectId.

Вот мой очень простой POJO

public class Sticker
{
  @Id
  @JsonProperty("_id")
  private String id;

  private String name;


  public String getId()
  {
    return id;
  }

  public void setId( String id )
  {
    this.id = id;
  }

  public String getName()
  {
    return name;
  }

  public void setName( String name)
  {
    this.name= name;
  }
}

1 ответ

Это зависит от того, установлен ли идентификатор перед сохранением экземпляра в базе данных или нет.

Если вы установите произвольную строку, это будет строка в базе данных. Если вы не установите его, это будет ObjectId в базе данных, потому что Mongo DB создает идентификатор для вас.

Другие вопросы по тегам