You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Spring Boot JPA运行报错Failed to create query for method问题求助

错误根因

Spring Data JPA的方法名查询规则会严格匹配实体类的属性名拼写与大小写:

  • 你的Department实体类中主键属性命名为 departmentid(所有字母小写无驼峰)
  • 但DepartmentRepository中定义的查询方法为 findByDepartmentId,JPA会自动将方法名解析为查找属性名为departmentId(驼峰格式,首字母d小写、I大写)的字段,实体中不存在该属性,因此抛出匹配失败异常。

解决方案(二选一即可,推荐第二种符合Java命名规范)

方案1:修改Repository方法名适配现有实体属性

将DepartmentRepository中的方法修改为和实体属性完全一致的拼写:

Department findByDepartmentid(long departmentid);

方案2:修改实体属性为标准驼峰命名(推荐)

把Department实体的主键属性修改为标准驼峰格式,原有Repository方法不需要改动:

@Id
@GeneratedValue(strategy = GenerationType.AUTO)
private long departmentId;

额外注意事项

你的DepartmentController中@GetMapping("{id}")的路径变量名和方法参数名不匹配,可能会引发后续参数绑定异常,建议修改为:

@GetMapping("{departmentid}")
public Department finddepartmentbyid(@PathVariable long departmentid)

或者给@PathVariable指定绑定的路径变量名:

@GetMapping("{id}")
public Department finddepartmentbyid(@PathVariable("id") long departmentid)

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.09.24 19:15:06