2

Springで使用されているMongoDBに頭を悩ませようとしていたので、SpringRooで小さなプロジェクトを開始することにしました。

私のプロジェクトでは、ユーザーログインデータをMongoDBに保存しています。問題は、新しいUserオブジェクトを作成してMongoDBに保存する登録プロセスでは、loginIdフィールドに@Uniqueがあるにもかかわらず、重複が作成される傾向があることです。

問題の一部は、JPA / RDBMSの観点から物事を考えていることです。また、MongoDBはリレーショナルDBではないため、操作するパラメーターのセットが異なりますが、ガイダンスを見つけるのに苦労しています。非常に単純なサンプルコード以上のもの。

まず、どのSpring / Otherアノテーションが利用可能であり、さらに重要なことに、Spring-worldからMongoDBを処理するときに一般的に使用されますか?次に、「一意」にする必要のあるドキュメントを処理する場合、通常、これをどのように行うのでしょうか。最初に一意のフィールドを検索して、まだそこにないことを確認してから、挿入しますか?第3に、JPAランドでは、アノテーション@PrePersistと@PreUpdateを使用して、更新されたMD5ハッシュパスワードや、保存直前の「最終更新日」の日付の追加/更新など、直前のデータ操作を行うことができます。これがJPAイズムであることは知っていますが、それでも使用できますか?そうでない場合は、Spring Data / MongoDBで使用するための代替手段はありますか?

4

2 に答える 2

0

エンティティで@Idアノテーションを使用することになりました。これは、どのフィールドがidフィールドとして使用されているかを示します。フィールドが一意である限り、後続の更新を書き込むと、新しいエンティティを追加するのではなく、既存のエンティティが適切に置き換えられます。

于 2013-01-29T20:51:28.297 に答える
0

入力しているデータと重複する値を持つデータが存在するかどうかを確認するための追加のメソッドを作成することになりました。存在する場合は、重複する値が存在することを示す失敗を返します。それ以外の場合は、新しく入力した値を保存します

于 2019-01-17T08:31:14.483 に答える