如何在 Spring Data JPA 中僅修改物體的一部分?
這是我的代碼。
public void modifyDrawing(Long no, String name, Double lat, Double lon, String physicalName, String desc) {
Drawing drawing = drawingRepository.findById(no)
.orElseThrow(NoSuchElementException::new);
drawing.setName(name);
drawing.setLat(lat);
drawing.setLon(lon);
drawing.setPhysicalName(physicalName);
drawing.setDesc(desc);
drawingRepository.save(drawing);
}
此時,如果lat和lon為空,我想保留這些值而不更改它們。我想知道如何僅使用非空引數值來更新物體值。
uj5u.com熱心網友回復:
在呼叫他們的設定器之前,您應該添加一個if檢查以確保緯度/經度不是。null
public void modifyDrawing(Long no, String name, Double lat, Double lon, String physicalName, String desc) {
Drawing drawing = drawingRepository.findById(no)
.orElseThrow(NoSuchElementException::new);
drawing.setName(name);
if (lat != null) {
drawing.setLat(lat);
}
if (lon != null) {
drawing.setLon(lon);
}
drawing.setPhysicalName(physicalName);
drawing.setDesc(desc);
drawingRepository.save(drawing);
}
轉載請註明出處,本文鏈接:https://www.uj5u.com/qiye/462572.html
上一篇:如果兩組有共同的元素,EclipseLinkINTERSECT過濾掉
下一篇:SpringJPAH2資料庫獲取org.h2.jdbc.JdbcSQLSyntaxErrorException找不到表
