@CassandraType is a general hint to enforce a particular type especially during schema generation. It does not depend on the actual existence of a registered converter. The general converter attempts to convert the top-level value into the Java type that is associated with the Cassandra type. Type arguments (typeArguments = CassandraType.Name.TEXT) are not considered yet for Collections and map key-value pairs. It would make sense to fix that aspect.
There's no way how to properly convert a collection type into a TEXT or INT representation, therefore these annotations have no effect. It would make sense to rather throw an exception in such case to aid debugging.
When you have a converter registered for Collection<?> to String and vice versa, then we do not consider @CassandraType. That is a known issue and should be addressed when revising collection conversion
Fixing this issue requires new API as Cassandra types are associated with auxiliary details such as user type names and specific data types, so we decided to introduce ColumnType, CassandraColumnType and ColumnTypeResolver. This refactoring is part of DATACASS-470