2016-05-27 3 views
2

私はDatastax Javaドライバを使用して、Cassandraデータベースで基本的な挿入文を実行しています。私の主キー列はuuidです。公式の文書に表示されているところから、uuid()機能をCassandraに呼び出すには、QueryBuilder#uuid()メソッドを使用することをお勧めします。しかし、私の型が衝突しているので(QueryBuilder.uuid()はObjectを返しますが、UUID.randomUUID()UUIDを返します)、java utilのUUID.randomUUID()も安全ですか?Java UUIDまたはQueryBuilder uuid

答えて

1

UUID.randomUUID()は、タイプ4のUUIDを作成するため、安全です。

Infactは、datastax UUIDのユーティリティクラスcom.datastax.driver.core.utils.UUIDsはUUID.randomUUIDのためのちょうど便利です)(ランダムな名前のメソッドを持っている()

+0

あなたが既存のUUIDを格納する必要がある場合は?クッキーのように? – lisak

+0

@lisak UUIDはシリアライズ可能です。 jacksonのようなライブラリを使用して、シリアライズ/デシリアライズすることができます。 – happysathya

0

生成するUUIDを注文(クラスタリングキー)に使用する場合は、QueryBuilder#uuid()を使用してください。これは、カサンドラが異なるimplementationを持っているためです。 Java UUIDの順序は異なります。

他のキーとして使用している場合は問題ありません。

希望すると助かります!