You need to enable JavaScript to run this app. Spring Data JPA自定义JPQL查询无法解析Stock实体name属性报错
优惠活动
大模型
产品
解决方案
定价
更多

Spring Data JPA自定义JPQL查询无法解析Stock实体name属性报错

问题排查方案
  • 首先检查com.santanderdevweek.bootcamp.model.Stock实体类的字段定义

    报错核心提示是无法解析name属性,首先确认实体类中是否存在名为name的字段,注意JPQL使用的是实体类的Java字段名,不是数据库表的列名,如果数据库列名是name但实体类字段命名为stockName,则需要将JPQL中的stock.name改为stock.stockName。
    同时确认该字段是否添加了对应的getter方法,如果你用lombok,检查是否加了@Data/@Getter注解,没有getter方法Hibernate也无法识别属性。

  • 检查实体类的注解配置
    确认Stock类上添加了@Entity注解,没有导错其他同名的Stock类。如果项目中存在多个同名的Stock类,建议在JPQL中写全限定类名:
    @Query("SELECT stock " +
            "FROM com.santanderdevweek.bootcamp.model.Stock stock " +
            "WHERE stock.name = :name AND stock.date = :date AND stock.id != :id")
    
  • 检查方法参数的绑定配置
    低版本的Spring Data JPA不支持默认按参数名绑定命名参数,建议给每个方法参数加上@Param注解显式绑定:
    @Query("SELECT stock " +
            "FROM Stock stock " +
            "WHERE stock.name = :name AND stock.date = :date AND stock.id != :id")
    Optional<Stock> findByStockUpdate(@Param("name") String name, @Param("date") LocalDate date, @Param("id") Long id);
    

内容的提问来源于stack exchange,提问作者Hugo Porfirio

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.10.19 10:15:04