繁体   English   中英

在@Query中为方法使用命名参数

[英]Using named parameters for method In @Query

我的存储库中有这个查询:

 public interface DogKeeperRepository extends JpaRepository<DogKeeper,Long> {


    @Query("WITH\n"
            + "    ConnectedGuard\n"
            + "    AS\n"
            + "        (SELECT *\n"
            + "           FROM AUTORISATION_DOG AG\n"
            + "          WHERE DOGKEEPER = ?1 \n"
            + "    SitesGuard\n"
            + "    AS\n"
            + "        (SELECT aga.AUTORISATION_DOGS_ID ,aga.SITE_ID, sit.DESC_COURT, sit.DESC_LONG\n"
            + "           FROM AUTORISATION_DOG_ASSIGNATION  aga\n"
            + "                INNER JOIN site sit ON aga.SITE_ID = sit.SITE_ID\n"
            + "          \n"
            + " \n"
            + "SELECT CG.DOGKEEPER,\n"
            + "       CG.NOM,\n"
            + "       CG.PRENOM,\n"
            + "       SG.SITE_ID,\n"
            + "       SG.DESC_COURT,\n"
            + "       SG.DESC_LONG\n"
            + "  FROM ConnectedGuard  CG\n"
            + "       LEFT JOIN SitesGuard SG\n"
            + "           ON CG.AUTORISATION_DOGS_ID = SG.AUTORISATION_DOGS_ID",nativeQuery = true)
    List<Object []> details(String dogKeeper, Long organisationId);

但是在部署时出现此错误:

java.lang.IllegalStateException: Using named parameters for method public abstract java.util.List DogKeeperRepository.details(java.lang.String,java.lang.Long) but parameter 'Optional[dogKeeper]' not found in annotated query

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM