spring-data-cassandra icon indicating copy to clipboard operation
spring-data-cassandra copied to clipboard

Investigate on using Cassandra CodecRegistry for type mapping [DATACASS-283]

Open spring-projects-issues opened this issue 9 years ago • 1 comments
trafficstars

Mark Paluch opened DATACASS-283 and commented

The Cassandra 3 Java driver provides a CodecRegistry which allows the usage of custom codecs for object and UDT value mapping. The mapper is an additional artifact which could be added optionally to the classpath.

@UDT(name = "address")
public class Address { ... }

codec = AnnotationParser.parseUDT(mappedClass, ReflectionMapper.factory(), this);
session.getCluster().getConfiguration().getCodecRegistry().register(codec);

Row row = session.execute("select address from user where id = 1").one();
Address address = row.get("address", Address.class);

See also https://github.com/datastax/java-driver/tree/3.0/driver-mapping


Reference URL: https://datastax.github.io/java-driver/manual/object_mapper/custom_codecs/

Issue Links:

  • DATACASS-295 Add an easy way to configure auto json/xml serialization to cassandra text types

  • DATACASS-318 Update CassandraCqlClusterFactoryBean with support for setting CodecRegistry

spring-projects-issues avatar Apr 29 '16 12:04 spring-projects-issues

Calling codecFor(…) responds with an exception if the type isn't found. So a plain approach to ask the codec registry whether a particular codec can be resolved/handled by the driver would impose a lot of CPU drag.

mp911de avatar Jan 29 '21 10:01 mp911de