我正在使用kundera 2.4作为我的JPA与Cassandra的互动。
在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或文本格式的数据?
答案 0 :(得分:0)
首先,我建议升级2.6版本。
其次,理想情况下,数据类型应与Cassandra数据类型同步。如果是BytesType,则它应该是byte或byte类型。
另外,如果在jpa实体中将列值定义为“String”而在Cassandra中为BytesType,那么你能否分享你得到的错误?
-Vivek