MongoDB和Morphia - Traditionnal id(Long)而不是ObjectId

问题描述 投票:3回答:1

背景:

我的REST服务项目是通过使用Hibernate启动的。我在域类中使用id(Long)作为rest 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)?

谢谢!

java mongodb morphia
1个回答
© www.soinside.com 2019 - 2024. All rights reserved.