Spring Data Cassandra和用户定义的类型

时间:2017-08-03 12:59:55

标签: java spring spring-boot cassandra spring-data

因此,从1.5开始,我们可以使用@UserDefinedType映射UDT。我们在尝试映射其中一个时遇到错误:

@UserDefinedType("criteria")
public class Criteria {

  @CassandraType(type = Name.VARCHAR)
  private String cle;

  @CassandraType(type = Name.VARCHAR)
  private String nom;

  @CassandraType(type = Name.VARCHAR)
  private String format;
}

我们在发布时收到此错误:

  

org.springframework.dao.InvalidDataAccessApiUsageException:未知   在实体中输入属性[cle]的[class java.lang.String]   [com.laposte.ariane.udt.Critere];只有原始类型和集合   或允许原始类型的地图

为避免这种情况,我们删除了@CassandraType注释,但这似乎不正确。

我们的地图有什么问题?

1 个答案:

答案 0 :(得分:2)

DataStax'驱动程序仅通过Name.TEXT报告Name.VARCHAR作为原始数据类型,但不报告DataType.allPrimitiveTypes()。 Spring Data Cassandra使用DataType.allPrimitiveTypes()来解析名称以键入映射。我提交了ticket来为这两个添加显式类型映射。

另见: