3

背景:

我的 REST 服务项目是使用 Hibernate 启动的。我在域类中使用 id (Long) 作为其余 url 中标识符的一部分,例如:

http://abc.com/customer-50,其中 50 是 Long id。

Hibernate Annotated 类如下:

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

现在我需要将我们的设计迁移到 Mongodb。自然的选择是使用 Morphia,它是一个实体框架。

问题: 在 Morphia 中,id 字段是 ObjectId

@Id private ObjectId id;

这将导致问题,因为: 1. 它不是自动递增的,即http://abc.com/customer-50http://abc.com/customer-51http://abc.com/customer- 52 .

现在它变成了http://abc.com/customer-4d1b4687a6d5437619000000

  1. 我需要将所有引用类从 long 更改为 objectId。

  2. 是否可以保留原始设计(使用 Long id,而不是 ObjectId)?

谢谢!

4