MongoDB и Morphia - традиционный идентификатор (длинный) вместо ObjectId - PullRequest
3 голосов
/ 03 декабря 2011

Справочная информация:

Мой проект службы REST был запущен с использованием Hibernate.Я использую id (Long) в доменном классе как часть идентификатора в URL покоя, например:

http://abc.com/customer-50,, где 50 - длинный идентификатор.

Класс Hibernate Annotatedкак показано ниже:

public class Customer {
@Id
@GeneratedValue
private Long id;
}

Теперь мне нужно перенести наш дизайн в Mongodb.Естественным выбором является использование Morphia, который является структурой сущностей.

Проблема: В Morphia поле id - ObjectId

@Id private ObjectId id;

Это вызовет проблему, потому что:1. Это не автоинкремент, то есть http://abc.com/customer-50, http://abc.com/customer-51, http://abc.com/customer-52.

Теперь оно становится http://abc.com/customer-4d1b4687a6d5437619000000

  1. Iнужно будет изменить все ссылочные классы с long на objectId.

  2. Можно ли сохранить оригинальный дизайн (который использует Long id вместо ObjectId)?

Спасибо!

...