Я хочу обновить существующую сущность, передав «неполный» экземпляр этой сущности в JpaRepository
.Под неполным я подразумеваю, что установлены только те значения, которые я хочу изменить, а остальные значения null
.Теперь, если я сделаю это, все значения null
будут сохранены как null
и, следовательно, перезапишут значения, которые я хочу сохранить.
Сначала я подумал о загрузке сущности из базы данных и каким-то образом объединить изменения в этот загруженный объект и снова сохранить его, но должен быть лучший подход.
Моя сущность:
@Entity
@Table
public class Location {
@Id
@NotNull
@Type(type = "uuid-char")
private UUID id = UUID.randomUUID();
@Column
@NotEmpty
private String title;
@Column
@NotEmpty
private String description;
...
Мой репозиторий:
@Repository
public interface LocationRepository extends JpaRepository<Location, UUID>, LocationFilterFragment, JpaSpecificationExecutor {
Optional<Location> findLocationById(UUID id);
...
Кстати, я использую стандартный метод repo.save(location)
.
Обновление: Одним из способов может быть использование динамического запроса / критерия, но я ищу что-то более удобное и менее подверженное ошибкам.
Этого было бы достаточночтобы показать мне правильное направление, потому что я не знаю точно, что искать.Заранее спасибо!