Morphia是JVM的持久性库,在您的应用需要与MongoDB通信时使用。当你使用它时,显然在Mongo / Morphia的土地上,这个唯一的ID必须是org.bson.types.ObjectId
。
这是真的吗?我有什么理由不能使用Long
作为ID,例如:
// Groovy pseudo-code
@Entity
@JsonIgnoreProperties(ignoreUnknown=true)
@JsonInclude(JsonInclude.Include.NON_NULL)
class WidgetEntity {
@Id
Long id
// ...etc.
}
如果 可以只使用Long
,那么我使用Long
而不是ObjectId
放弃了什么?
答案 0 :(得分:1)
您可以使用Long
,但在这种情况下,您需要自己指定一个值。
来自morphia quickstart sample:
另请注意,我们必须添加一个新字段" id"到我们的酒店课。该 " ID"价值可以是任何持久的类型;像int,uuid或其他 宾语。如果您想要一个自动生成的值,只需将其声明为 的ObjectId。如果您不使用ObjectId,则必须先设置该值 节省。