Sprintboot运行时错误:无法为方法公共抽象com.example.demo.entity.Department创



部门类别:

@Entity
@Data
@AllArgsConstructor
@NoArgsConstructor
public class Department {
@Id
@GeneratedValue(strategy = GenerationType.AUTO)
private long departmentid;
private String departmentName;
private String departmentAddress;
private String departmentcode;
}

部门存储库类别:

@Repository
public interface DepartmentRepository extends JpaRepository<Department, Long> {
Department findByDepartmentId(long departmentid);
}

部门服务:@服务@Slf4j公共类部门服务{

@Autowired
private DepartmentRepository departmentrepository;
public Department saveDepartment(Department department) {

log.info("Inside savedepartment method of deparment service");
return departmentrepository.save(department);
}
public Department finddepaartmentbyid(long departmentid) {
log.info("inside finddepartmentbyid mehtod of departmentservice");
return departmentrepository.findByDepartmentId(departmentid);
}
}

部门主管:

@RestController
@RequestMapping("/departments")
@Slf4j
public class DepartmentController {
@Autowired
private DepartmentService departmentservice;
@PostMapping("/")
public Department saveDepartment(@RequestBody Department department)
{
log.info("Inside savedepatment method of department controller");
return departmentservice.saveDepartment(department);
}
@GetMapping("{id}")
public Department finddepartmentbyid(@PathVariable long departmentid)
{
log.info("inside finddepartmentbyid mehtod of department controller");
return departmentservice.finddepaartmentbyid(departmentid);
}
}

我收到运行时错误,因为无法为方法public abstract com.example.demo.entity.Department.com.example.demo.repository.DocumentRepository.findByDepartmentId(long(创建查询!找不到类型Department的属性departmentId!你是说"departmentid"吗?

您需要谨慎命名存储库方法。在您的存储库代码中,您会说Department findByDepartmentId(long departmentid);。因此,Spring正试图对变量departmentId进行搜索(请注意这里的camel大小写有多重要(。不幸的是,存储库DepartmentRepository的实体类Department没有任何名称为departmentId的字段,而是有departmentid

这里有两个解决方案:

  1. 将存储库方法重命名为Department findByDepartmentid(long departmentid);:不建议这样做
  2. Department实体类中的departmentid更改为departmentId推荐和最佳实践

您可以在此处找到有关命名存储库方法的更多详细信息

相关内容

最新更新