[英]Spring Data JPA(Hibernate): How do I retrieve a concrete entity using only a field in its abstract superclass?
[英]How do I modify only part of an entity in spring data jpa?
如何只修改Spring数据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
是null,我想保持数值不变。 我想知道如何仅使用非空参数值更新实体值。
在调用他们的设置器之前,您应该添加一个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);
}
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.