使用 cassandra spring 数据映射 @Embeded 对象的问题

问题描述 投票:0回答:1

我正在使用 Spring Boot v3.2.2 和数据 Cassandra。

<dependency>
    <groupId>org.springframework.boot</groupId>
    <artifactId>spring-boot-starter-data-cassandra</artifactId>
</dependency>

我正在尝试使用嵌入式对象。这是我的实体的代码

@Table("switch_by_country_customer_department_controller")
public class Switch implements Persistable<SensorId> {

    @PrimaryKey
    private SensorId id;

    @Embedded(onEmpty = OnEmpty.USE_EMPTY)
    private DeviceInfo deviceInfo;
    ...
}

以及嵌入式对象类

    public class DeviceInfo {
    
        private String producer;
    
        private String model;
    
        private String sn;
    
        private String mac;
        ...
   }

一旦我尝试向该表中插入一些内容,我就会收到以下异常。这有点有趣,因为我不希望有任何名为

deviceinfo
的列,因为这是
Switch
类中嵌入对象属性的名称

Query; CQL [INSERT INTO switch_by_country_customer_department_controller (country,customer,department,sensorcode,controllercode,deviceinfo,registrationdate,activationdate) VALUES (?,?,?,?,?,?,?,?)]; Undefined column name deviceinfo in table pflanze.switch_by_country_customer_department_controller

一个有趣的事实是,自动生成的模式看起来很好,并且应用程序在这里是正确的:没有这样的字段

 CREATE TABLE pflanze.switch_by_country_customer_department_controller ( 
    country              TEXT   ,
    customer             TEXT   ,
    department           TEXT   ,
    sensorcode           TEXT   ,
    controllercode       TEXT   ,
    activationdate       TIMESTAMP   ,
    mac                  TEXT   ,
    model                TEXT   ,
    producer             TEXT   ,
    registrationdate     TIMESTAMP   ,
    sn                   TEXT   ,
    PRIMARY KEY( (country, customer, department), sensorcode, controllercode )
 )

更有趣的是,如果我为嵌入对象字段指定嵌入对象本身的任何成员的名称,如下所示:

@Table("switch_by_country_customer_department_controller")
public class Switch implements Persistable<SensorId> {

    @PrimaryKey
    private SensorId id;

    @Embedded(onEmpty = OnEmpty.USE_EMPTY)
    private DeviceInfo model;
...
}

逻辑按预期工作,所有数据都插入到右列中。

有人遇到同样的问题吗?它看起来像一个错误。有人可以确认吗?

谢谢

spring-data-jpa spring-data-cassandra
1个回答
0
投票

我面临着完全相同的问题。看起来像春天的虫子。

© www.soinside.com 2019 - 2024. All rights reserved.