| Here is the current state of my findings. CassandraParameterMetadataBuilder does support ordinal parameters but does not support named parameters at all. It won't be easy to support named parameters using the current method:
- when we use an ordinal parameter, the column name returned by Cassandra is the one of the column. So say you're using name = ?, Cassandra returns name. We then use this column name to get the type from the metadata.
- when we use a named parameter, the column name returned by Cassandra is the parameter name (and extra fun, it's lowercased). So say, you're using id = :idParam, Cassandra returns idparam as the name of the column. Thus, we cannot get the type information using the method currently used in CassandraParameterMetadataBuilder.
Cassandra returns the type but, according to a comment in CassandraParameterMetadataBuilder, our type system is not currently able to translate it to an Hibernate type. So correctly supporting named parameters will probably require 2 things:
- implement a parser to extract the parameter names correctly
- make our type system able to return an Hibernate type from a native type
|