Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Move Cassandra type resolution into MappingCassandraConverter [DATACASS-470] #639

Closed
spring-projects-issues opened this issue Jun 19, 2017 · 0 comments
Assignees
Labels
in: mapping type: task

Comments

@spring-projects-issues
Copy link

spring-projects-issues commented Jun 19, 2017

Mark Paluch opened DATACASS-470 and commented

Cassandra type resolution is handled currently in CassandraMappingContext by using annotation-based configuration from BasicCassandraPersistentEntity
and BasicCassandraPersistentProperty.

This arrangement isn't ideal because:

  1. CassandraMappingContext requires a UserTypeResolver that uses Cassandra infrastructure to look up type
  2. CassandraCustomConversions introduces a cycle to o.s.d.cassandra.core.convert.

We should move type resolution to CassandraConverter entirely to resolve the package cycle and to move the infrastructure dependency to a higher abstraction level.

This change would require a switch in dependencies in CassandraSessionFactoryBean: The factory bean now uses CassandraMappingContext only to create/drop the schema. After the change, CassandraSessionFactoryBean requires CassandraConverter


Issue Links:

  • DATACASS-468 Move o.s.d.cql into o.s.d.cassandra.core.cql
    ("depends on")
  • DATACASS-557 @CassandraType is ignored in the presence of CustomConversions
    ("supersedes")
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
in: mapping type: task
Projects
None yet
Development

No branches or pull requests

2 participants