Неважно, какой API вы используете для CRUD на записях; CompositeType (или DynamicCompositeType) - это просто другой тип (например, аналогичный UUID), который имеет соответствующий сериализатор (CompositeSerializer). Итак, вашим примером может стать:
private static final ColumnFamilyTemplate<Composite, String> template =
new ThriftColumnFamilyTemplate<Composite, String>(
Bootstrap.keyspace,
"User",
CompositeSerializer.get(),
StringSerializer.get(),
HFactory.createMutator(Bootstrap.keyspace, CompositeSerializer.get()));
Только дополнительно было бы создать Composite перед использованием шаблона (предположим, что составной из UUID & Long):
Composite key = new Composite();
key.addComponent(someUUID, UUIDSerializer.get());
key.addComponent(someLong, LongSerializer,get());
ColumnFamilyResult<Composite,String> result = template.queryColumns(key);
При получении результатов можно получить компоненты ключа:
myUUID = result.getKey().get(0, UUIDSerializer.get());
myLong = result.getKey().get(1, LongSerializer,get());