注釈を使用してドキュメントを設定していますが、新しいドキュメントの作成時に Id が設定されていないため@Id
、テストで取得します。MappingException
spring-data + couchbase は新しいドキュメントに ID を自動的に割り当てることができませんか?
質問する
3911 次
5 に答える
4
Couchbase には ID の自動生成がないため、ID を設定する必要があります。
Couchbase は異種データを同じBucket
に保存できることに注意してください。そのため、デフォルトでは、複数のタイプのエンティティがある場合、それらは同じストレージ ユニットに格納されます。したがって、あなたが持っている場合。User
およびエンティティ、 「foo」である aをProduct
作成して保存すると、id-ed の「foo」も . で上書きされます。User
@Id
Product
User
Product
つまり、エンティティ クラス間であっても 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 に答える