2
respostas

[Dúvida] JPQL

Alguem pode avaliar minha JPQL, se está correta ? Pois tenho um erro no console nesse Repositorio !

Erro : Error creating bean with name 'procedimentoCidRepository': FactoryBean threw exception on object creation; nested exception is java.lang.IllegalArgumentException: Validation failed for query for method public abstract java.util.List br.com.vozdigital.smart.data.repository.ProcedimentoCidRepository.ListaProcedimento(java.lang.Long)!


package br.com.vozdigital.smart.data.repository;


import org.springframework.stereotype.Repository;
import br.com.vozdigital.smart.core.entity.ProcedimentoCid;
import java.util.List;
import org.springframework.data.jpa.repository.Query;
import org.springframework.data.repository.query.Param;


@Repository
public interface ProcedimentoCidRepository extends BaseRepository<ProcedimentoCid, Long> {

    List<ProcedimentoCid> findByProcedimento_Id(@Param("id") Long id);

    @Query(value = "select pc from ProcedimentoCid pc join pc.Procedimento p where p.id = :procCodigo")
    List<ProcedimentoCid> ListaProcedimento(@Param("procCodigo") Long procCodigo);

    @Query(value = "select pc from ProcedimentoCid pc join pc.Cid c where c.id = :cidCodigo")
    List<ProcedimentoCid> ListaCid(@Param("cidCodigo") Long cidCodigo);

}


2 respostas

Olá Ighor

Envia as classes ProcedimentoCid, Procedimento e Cid também, por favor.

O problema é nesse método:

@Query(value = "select pc from ProcedimentoCid pc join pc.Procedimento p where p.id = :procCodigo")
List<ProcedimentoCid> ListaProcedimento(@Param("procCodigo") Long procCodigo);

No join está assim: join pc.Procedimento. Confere na sua classe ProcedimentoCid se o atributo se chama Procedimento com P maiúsculo.