Here is a link to the CQL3 data types to Java types chart.
I also tried varint, but still no luck.
I would have thought that should have worked, too. But I can see (in the link referenced above) that varint maps to varint, so no luck there. In any case, it would appear that a mapping between a BigInteger and a CQL3 integer-based type does not exist.short
However, if you want to store bytes you can use the CQL3 type.blob
EDIT 20180727
It looks like in CQL now maps to smallint.java.lang.Short
Just to add to what Erick said, large collections in Cassandra can lead to other issues. DataStax has some documentation on how to "freeze" collections to help with different access patterns. The tradeoff, is that non-frozen collections can generate a LOT of tombstones during various high write throughput scenarios, and frozen collections must re-write the entire collection on an in-place write.
tl;dr;
Mapping to individual columns is a much better option.
Currently, it is not possible to plug in a custom mapping mechanism into the Java driver, but JAVA-721 is scheduled for 2.1.7 and will probably bring you the ability you are looking for.
I ended up using the CodecRegistry with a combination of reflective code to get all the available codecs to build a map of Java types to CqlTypes.
edit
Obtaining a bean reference to is even easier.CassandraMappingContext