Контроллер:
public CarModel updateCarParameters(@RequestBody CarModel carModel){
CarModel updated = carService.updateCarParameters(carModel);
return updated;
}
Служба:
public CarModel updateCarParameters(CarModel carModel){
// check if car exists and validate new updated params
String brand = carModel.getCarBrand();
int id = carModel.getCarId();
System.out.println(brand + " " + id);
int i = carRepository.updateCar(brand, id);
System.out.println("Records changed ? : " + i );
return null;
}
У меня есть JSON:
{
"carId" : 4,
"carBrand": "Mazda"
}
Запрос на обновление:
String UPDATE_CAR = " UPDATE car_info c SET c.car_brand = :brand WHERE c.car_id = :id";
@Modifying(clearAutomatically = true)
@Transactional
@Query(value = UPDATE_CAR, nativeQuery = true)
int updateCar(@Param("brand") String brand, @Param("id") int id);
при прохождении, например, c .carBrand = 'Mazda' c .car_id = 8 не влияет на базу данных
возвращается CONSOLE:
Mazda 8 < -- System.out.println() before executing statement
Hibernate: UPDATE car_info c SET c.car_brand = ? WHERE c.car_id = ?
Records changed ? : 0 < -- System.out.println() after executing statement
in MySQL запрос работает нормально:
UPDATE car_info c SET car_brand = 'Hello' WHERE car_id = 4;