0

使用 CassandraAdminOperations.createTable 创建具有 UUID 类型字段的表时遇到问题。我在表中定义了 uuid 类型的字段,但是当使用 CassandraAdminOperations.createTable 创建表时,该字段被创建为 timeuuid。有什么方法可以强制字段使用 uuid 而不是 timeuuid ?

这是类中的字段定义,

@PrimaryKeyColumn(name = "id", ordinal = 0, type = PrimaryKeyType.PARTITIONED)
private UUID id;

@Column(value = "url")
private String url;

但是当调用 CassandraAdminOperations.createTable 创建表时,日志显示如下,id 字段被创建为 timeuuid,

00:43:23.877 [localhost-startStop-1] 调试 osdccore.CassandraAdminTemplate - 如果不存在 id_to_url_map (id timeuuid, url text, PRIMARY KEY (id)) 则创建表;

谢谢!

4

1 回答 1

2

我有同样的问题。但经过一番调查,我发现你可以添加@CassandraType注解,并显式指定类。

    import com.datastax.driver.core.DataType;

    @PrimaryKeyColumn(name = "id", ordinal = 0, type = PrimaryKeyType.PARTITIONED)
    @CassandraType(type = DataType.Name.UUID)
    private UUID id;
于 2016-03-29T06:12:34.937 回答