Tenho o seguinte código que busca uma categoria por id e se não acha o id lança uma exception de object not found, só que em vez de retornar um 404 ele retorna um 500, alguém sabe a causa disso e como posso resolver?
import org.hibernate.ObjectNotFoundException;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.http.HttpStatus;
import org.springframework.stereotype.Service;
@Service
public class CategoriaService {
@Autowired
private CategoriaRepository repository;
public Categoria buscarCategoriaPorId(Integer id){
Optional<Categoria> buscaCategoria = repository.findById(id);
return buscaCategoria.orElseThrow(() -> new ObjectNotFoundException(HttpStatus.resolve(404),"Categoria não encontrada! ID: " + id + ", Tipo: " + Categoria.class.getName()));
}