喂,
我不明白,如何使用hector查询cassandra,但返回的列值不是单一类型,而是多种类型:
我投入了????在哪里我不知道该怎么做:
MultigetSliceQuery<String, String, ??????> multigetSliceQuery = HFactory.createMultigetSliceQuery(keyspace, stringSerializer, stringSerializer, ???????);
例如,如果我的所有列值都是String类型,我会放入String。但是我在一行中有不同的字符串,如String,Integer和byte []。所以我必须传递更多的Serializer。
如何解决这个问题?
谢谢。
(可以创建一个hector作为标签吗?我不允许这样做)
答案 0 :(得分:6)
我们通过模板方法模式提供任意类型。查看测试用例: https://github.com/rantav/hector/blob/master/core/src/test/java/me/prettyprint/cassandra/service/template/ColumnFamilyTemplateTest.java
新的入门指南也应该有所帮助: https://github.com/rantav/hector/wiki/Getting-started-%285-minutes%29
答案 1 :(得分:5)
您可以使用ByteBufferSerializer,然后将ByteBufferSerializer返回的ByteBuffers转换为StringSerializer和IntegerSerializer的参数,以转换字符串和整数的列。