【发布时间】:2021-09-05 17:34:08
【问题描述】:
Kotlin + Spring Boot Cassandra 应用程序忽略了 @Column("column_name") 注释。下面的注释
@Column("order_details")
val orderDetails: String
正在映射到 orderdetails 而不是 order_details。由于表中不存在orderdetails 列,因此会导致运行时错误。
为什么spring data Cassandra的@Column默认不映射到snake case?
即使在将值传递给@Column 映射之后,为什么它会被忽略?
是否需要在应用程序属性中设置任何其他属性,以便 Spring Data Cassandra 使用蛇案例进行物理映射?
@Table("order_by_customer")
data class CustomerOrder(
@PrimaryKeyColumn(name = "customer_id", ordinal = 0, type = PrimaryKeyType.PARTITIONED)
val customerId: UUID,
@Column("order_details")
val orderDetails: String,
@Column("ordered_at")
val orderedAt: LocalDate
)
生成的插入查询
INSERT INTO order_by_customer (customer_id,orderdetails,orderedat)
虽然 PK 的注释起作用,但 Column 的注释被忽略
【问题讨论】:
标签: spring cassandra spring-data-cassandra