5

注釈を使用してドキュメントを設定していますが、新しいドキュメントの作成時に Id が設定されていないため@Id、テストで取得します。MappingExceptionspring-data + couchbase は新しいドキュメントに ID を自動的に割り当てることができませんか?

4

5 に答える 5

4

Couchbase には ID の自動生成がないため、ID を設定する必要があります。

Couchbase は異種データを同じBucketに保存できることに注意してください。そのため、デフォルトでは、複数のタイプのエンティティがある場合、それらは同じストレージ ユニットに格納されます。したがって、あなたが持っている場合。Userおよびエンティティ、 「foo」である aをProduct作成して保存すると、id-ed の「foo」も . で上書きされます。User@IdProductUserProduct

つまり、エンティティ クラス間であっても ID が衝突しないようにする必要@Id があります。

于 2016-05-01T10:40:22.407 に答える
0

Java を使用して、一意の UUID を生成できます。これにより、Java によって UUID が生成されます。Couchbase PK で一意として使用できます。

@Document
public class BasicEntity {

@Id
@Field
private String _id;

/**
 * @return the _id
 */
public String get_id() {
    return _id;
}

/**
 */
public void set_id() {
    this._id = UUID.randomUUID().toString();
   }

}
于 2017-01-05T04:45:28.867 に答える
0

さらに、Couchbase Java SDK で利用できる UUID ジェネレーターがあり、これが役に立ちます。

UUID hereに関する議論があります。

于 2016-05-02T13:25:57.903 に答える