Vscode dando dando erro em codigo java

Pessoal, tenho varios projetos java em uma pasta e funcionava sem erro e acho que alguma extensao atualizou sozinha e a partir dai todos os codigos que antes nao tinha nenhum warning, agora estão e no memso trecho de codigo. Interessante que mesmo com warning ele executa normal.
Lembro que um tempo atras deu um problema parecido e ae pesquisei na net e vi que era uma atualizaçao de uma extensao que fazia isso, era so voltar pra uma versao anterior dessa extensao que resolvia, mas eu nao lembro mais que extensão seria essa.
Esse problema so ta ocorrendo em uma @Query que eu coloco no repository
Eu ja removi o vscode e reinstalei varias versoes e o erro persiste.
Segue a classe repository, o warning fica bem no :id e o vscode aponta que tem um erro

package br.com.projeto.apitodolist25.repository;

import org.springframework.data.jpa.repository.JpaRepository;
import org.springframework.data.jpa.repository.Query;
import org.springframework.stereotype.Repository;

import br.com.projeto.apitodolist25.model.TodoList;

@Repository
public interface TodoRepository extends JpaRepository<TodoList, Long> {
    @SuppressWarnings("null")
    @Query(value = "select * from todos where id = :id", nativeQuery = true)
    @Override
    public TodoList getOne(Long id);
}

Qual a mensagem específica que o vscode está mostrando nesse trecho de id? Ou seja, qual a mensagem de “erro” que está te incomodando?

Warnings (alertas) são diferentes de errors (erros). Um warning é um aviso de que algo pode dar problema ou estar passando despercebido, mas não quer dizer que o código irá dar erro ou algum outro problema. Se ele executa normal, o warning que você está vendo pode ser um erro de interpretação da sintaxe (seja do vscode ou de alguma extensão).

Abraço.

Pessoal depois de quebrar muito a cabeça conseguir contornar o problema mas eu queria saber o motivo que isso ocorreu.
Eu mudei a @Query pra:
@Query(value = “select * from todos where id = ?1”, nativeQuery=true)
Resumidamente falando, na query o :id foi substituido por ?1
Lembrando que nas 2 querys o codigo executa normal, entretanto na segunda opçao o vscode nao da warning nenhum.
Mas eu queria saber pq antes funcionava tudo normal e depois que vscode bugou passou a funcionar so desse jeito…

Testa assim pra ver se ele reclama:

@Query(value = "select * from todos where id = :id", nativeQuery = true)
@Override
public TodoList getOne( @Param( "id" ) Long id);

A extensão do Spring Boot deve esperar que vc use a anotação @Param para ela saber “com certeza” quem que está amarrado ao parâmetro :id da query. ?1 indica o primeiro parâmetro, não o nome, então ela não precisa inferir o que está ligado a algo. Confirma ai, mas tenho quase certeza que deve ser isso.

2 curtidas