如何仅使用ReactiveCassandraRepository插入实体的几个文件

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

使用Spring Data,我如何向ReactiveCassandraRepository指定,只需将传递的实体的几个文件插入到Cassandra DB中

例如,

如果我的实体如下,则>

@Table("employee_tb")
public class Employee {

    @PrimaryKey("emp_id")
    private int empId;

    @Column("emp_name")
    private String empName;

    @Column("emp_dept")
    private int empDept;

    @Column("emp_salary")
    private int empSalary;
    ........
    ........
    <Setters & Getters>
    ........
    ........
}

我的存储库是

public interface myCassandraRepo extends ReactiveCassandraRepository<Employee, int>{

}

并且如果我想使用emp_id,emp_name和emp_dept(除外

emp_salary)将新记录插入数据库,该怎么办.. !!!

我尝试过

Employee emp = new Employee();
emp.setEmpId(1234);
emp.setEmpName("Test");
emp.setEmpDept(5);

myCassandraRepo.insert(emp);

以及使用save()

myCassandraRepo.save(emp);

在两种情况下都将在数据库中创建新记录,但是字段emp_salary

也将插入具有初始化值0的位置,我想避免这种情况。

我该如何实现,请提供帮助

[使用Spring Data,我如何向ReactiveCassandraRepository指定,只需将传递的实体的几个文件插入到Cassandra DB中,例如,如果我的实体如下,@Table(“ ...

spring-data-cassandra
1个回答
0
投票
Spring Data通常遵循以下规则:所有非null字段都被写入基础数据库。在您的情况下,emp_salary是原始值,因此它不是null。

您具有以下选项可以更改单个属性的持久性行为:

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