Предыстория:
Мой сервисный проект 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.
Мне нужно будет изменить все эталонные классы с long на objectId.
Можно ли сохранить исходный дизайн (в котором вместо ObjectId используется длинный идентификатор)?
Спасибо!