2

Couchbase SDK でuser::524525などのプレフィックス付きの一意の ID を生成する方法を知りたいです。

Couchbase JavaSDK ガイド を使用して Couchbase を使い始めたとき、すべての例で id が TYPE::ID のように見えることに気付きました (例: user::king_arthur)。これは、異なるドキュメントの ID の競合を避けるためにも推奨されます。Spring Data Couchbaseのドキュメントを読んでいたので、その方法は次のようになると思いました

import org.springframework.data.couchbase.core.mapping.id.GeneratedValue;
import org.springframework.data.couchbase.core.mapping.id.GenerationStrategy;
import org.springframework.data.couchbase.core.mapping.id.IdPrefix;
import com.couchbase.client.java.repository.annotation.Id;
...

@Data
public class User {    

    @IdPrefix
    private String prefix = "user";

    @Id @GeneratedValue(delimiter = "::", strategy = GenerationStrategy.USE_ATTRIBUTES)
    private String id;
}

しかし、これをテストしてデータベースにチェックインすると、IDは単に「ユーザー」です。

何か不足していますか?バグですか?提案をいただければ幸いです。

4

1 に答える 1