Em đang viết api cho app… viết phần cật nhật thông tin cá nhân… khi e cho nó cập nhật riêng ngày sinh thì các thuộc tính còn lại sẽ bị null hết… tương tự khi cập nhật riêng name thì các cột còn lại sẽ bị null hết…
Ai chỉ giáo e với
Làm sao để update theo cột trong spring boot api
Ý bạn là bạn muốn update 1 attribute, những attribute khác sẽ set về null hay việc bị set null là bug?
Nếu bạn dùng Spring Data Repository để access với db thì bạn có thể làm thế này ở tầng DAO / Service
public void updateAccount(Long accountId, AccountDTO accountDTO) {
// Lấy account có id từ request
Optional<Account> optionalAccount = accountRepository.findById(accountId);
// Kiểm tra account có tồn tại không
if(optionalAccount.isPresent()) {
Account accountInDb = optionalAccount.get();
// Update Information - ở đây update name
accountInDb.setName(accountDTO.getName());
accountInDb.setAge(null);
accountInDb.setEmail(null);
accountInDb.setGender(null);
accountInDb.setAddress(null);
accountInDb.setPhone(null);
// Lưu entity mới update vào db
accountRepository.save(accountInDb);
} else {
LOG.error("Account with id = {} not found!", accountId);
}
}
1 Like
Khi e update ngày sinh thì các column khác dữ liệu trở về null hết… e muốn chỉ update column ngày sinh thôi những cột khác giữ đuợc dữ liệu
Bạn hỏi về một vấn đề xử lý cụ thể mà ko post code lên, nói chung chung vậy sao anh em support được
Bạn thử dùng @PutMapping cho API đó xem.