0

我使用 kundera 2.4 作为我与 Cassandra 的 JPA 交互。

在 cassandra 中创建列族

create column family usageitem  with key_validation_class = 'UTF8Type'
 and comparator = 'UTF8Type' ;

cassandra 为列假定的默认验证类是 BytesType 。我想通过 jpa 实体将其更改为 UTF8Type

我不想将上面的列定义更改为

create column family usageitem  with key_validation_class =
 'UTF8Type' and comparator = 'UTF8Type' and default_validation_class =
 'UTF8Type' ;

因为我不想触及我现有的数据库定义

我的 JPA 实体看起来像这样 -

@Entity
@Table(name = "usageitem", schema = "TITAN@TROYUnit")
public class UsageItem {    

@Id
@Column(name="record_id")
private String recordID;

@Column(name="provider_name",columnDefinition="UTF8Type")
private String providerName;

//Setters & Getters ....

}

那么我应该如何在上述JPA实体中指定cassandra列值的验证类型来插入utf8或文本格式的数据呢?

4

1 回答 1

0

首先,我建议升级到 2.6 版本。

其次,理想的数据类型应该与 Cassandra 数据类型同步。如果是 BytesType,则应该是 byte 或 byte 类型。

另外,如果列值在 jpa 实体中定义为“字符串”,而在 Cassandra 中是 BytesType,您能否分享一下您得到的错误?

-维维克

于 2013-07-30T19:21:18.057 回答