3

バックグラウンド:

私のRESTサービスプロジェクトはHibernateを使用して開始されました。ドメインクラスでID(Long)を残りのURLの識別子の一部として使用します。次に例を示します。

http://abc.com/customer-50、ここで50はロングIDです。

HibernateAnnotatedクラスは次のとおりです。

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. すべての参照クラスをlongからobjectIdに変更する必要があります。

  2. 元のデザイン(ObjectIdの代わりにLong idを使用)を維持することは可能ですか?

ありがとう!

4