我用的是Spring Boot 2.4.1
与 spring-boot-starter-data-cassandra
.
下面是repository类
@Repository
public interface UserRepository extends CassandraRepository<UserModel, String> {
}
下面是pojo
@Table("user")
public class UserModel {
@PrimaryKeyColumn(name = "userid", type = PrimaryKeyType.PARTITIONED)
private String userId;
@Column("emailid")
private String emailId;
@Column("phonenumber")
private String phoneNumber;
//getters and setters
}
下面是调用update方法的类:
@Component
public class UpdateTask {
@Autowired
private UserRepository userRepository;
public void removePhoneNumber(UserModel t) {
t.setPhoneNumber(null);
userRepository.save(t);
}
}
问题是我想将电话号码字段更新为 null
因为用户想要删除他们的电话号码。但是cassandra忽略了空值集。如何在cassandra中将值显式设置为null?
2条答案
按热度按时间pdtvr36n1#
这可以通过delete cql命令来完成-如果insert语句只为列指定null值,或者没有为列指定任何值,那么驱动程序在执行insert语句时会忽略该列您可以引用该语句https://issues.apache.org/jira/browse/cassandra-3783
bsxbgnwa2#
试试这个: